【发布时间】:2015-06-19 13:33:38
【问题描述】:
我编写了一个小脚本,使用 C 中的 getchar() 函数从用户输入中检测完整值。由于 getchar() 仅返回我尝试循环遍历的第一个字符...我尝试过的代码我自己是:
#include <stdio.h>
int main()
{
char a = getchar();
int b = strlen(a);
for(i=0; i<b; i++) {
printf("%c", a[i]);
}
return 0;
}
但是这段代码并没有给我用户输入的全部价值。
【问题讨论】:
-
首先阅读
strlen()... 它接受char[]类型的输入而不是char。 -
你在
char上做strlen()。这会导致未定义的行为,你可以得到任何东西作为返回值......你应该改变你的循环逻辑!
标签: c user-interface loops getchar