小编use*_*357的帖子

字符数组后的奇怪字符

我是C的真正初学者,但我正在学习!

我之前偶然发现了这个问题,并决定询问原因是什么.请解释一下你的答案,这样我才能学习.

我制作了一个程序,允许你输入5个字符然后显示你写的字符并还原它们,例如:"asdfg" - "gfdsa".奇怪的是,在输入的原始字符之后显示了一个奇怪的字符.

这是代码:

char str[5];
char outcome[] = "OOOOO";
int i;
int u;

printf("Enter five characters\n");

scanf("%s", str);

for(i = 4, u = 0; i >=0; u++, i--){
    outcome[i] = str[u];
}

printf("\nYou wrote: %s. The outcome is: %s.", str , outcome);


return 0;
Run Code Online (Sandbox Code Playgroud)

如果我输入:"asdfg"它显示:"asdfg♣",为什么?

谢谢你的时间,请解释你的答案:)

c arrays string scanf character

7
推荐指数
2
解决办法
3万
查看次数

标签 统计

arrays ×1

c ×1

character ×1

scanf ×1

string ×1