读书人

for\ printf\ scanf 探讨,该怎么解决

发布时间: 2012-03-29 12:53:13 作者: rapoo

for\ printf\ scanf 探讨
#include<stdio.h>
main()
{
char a[20];
int i;
printf("输入第一个字符\n");
scanf("%c",a);
for(i=0;i<3;i++)
{
printf("输入字符\n");
scanf("%c",&a[i+1]);
}
}


我就郁闷了 我输入 f 回车出来的是两行“输入字符”
再输入s 回车结束了
输入第一个字符
f
输入字符
输入字符
s
输入字符
Press any key to continue

大家看看 怎么不按顺序运行啊,正常的话是不应该先提示输入一次--输入----再提示输入---输入--在提示输入--输入在提示输入---输入
可是我运行的不是这么啊。。我什么啊。。郁闷了。


[解决办法]

探讨
就是 解释下为什么都要加一个 getchar 不是有了 scanf函数了吗。。。。

[解决办法]
探讨
引用:
就是 解释下为什么都要加一个 getchar 不是有了 scanf函数了吗。。。。

scanf这个函数会在你按回车键的时候结束,但是,他每次只会读取你输入的一个字符,你输入字符串再回车的话就会有问题,但是你这个是因为下面的问题导致的。。。
scanf("%c",a);你这个是错误的应该改成scanf("%c",&a[0]);就好了,
……

读书人网 >C++

热点推荐