c语言指针实现字符串接收

img


为什么输出的不是bjh呀,想知道?

printf("%s",str); 中 %s 改成 %c 并且str前*加

    printf("%c",*str);

%s 是从当前字符地址开始一直输出到'\0'字符串结束
你要每次循环只输出一个字符应该用 %c

#include<stdio.h>
int main()
{
    char *str,a[80];
    gets(a);
    for (str = a; *str!='\0'; str++)
    {
        printf("%c",*str); //%s 改成 %c 并且str前*加
    }
    return 0;
}

如有帮助,望采纳!谢谢!