gpt4 book ai didi

c - 函数和指针交互

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:04 25 4
gpt4 key购买 nike

我对 C 编程还很陌生。我有一个函数,它将一个指向字符串的指针作为输入并打印该字符串的反向。当我在 main 方法中调用该函数时,它输出垃圾信息。我认为这可能与我使用指针的方式有关。

我的代码是:

    #include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_LEN 100

void reverse(char* str)
{
int i, j;
int temp;
int length;
length = strlen(str);
i= 0;
j=(length-1);
while (i<j){
temp=str[i];
str[i] = str[j];
str[j]=temp;
i++;
j--;
}
printf("Your reversed string is: ");
for (i=0; i<length; i++){
printf("%d", str[i]);
}
printf("\n");
}

int main()
{
char mystring[MAX_LEN+1];
printf("Enter the string. \n");
scanf("%s", mystring);
printf("%s", mystring);
printf("\n");
reverse(mystring);
}

输出是:

Enter the string.
help
help
Your reversed string is: 112108101104

最佳答案

printf("%c", str[i]); 您之前打印了 ascii 值。使用 %c 说明符打印字符。

例如,您可以在 ascii-chart 中看到

112 108 101 104
p l e h

或者更容易做到这一点

printf("%s",str);

关于c - 函数和指针交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47719841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com