scanf()函数就是根据你输入的换行符(你按回车键)来判断你的输入是否结束。如果你输入一个数,比如你要输入123,但你输入1是不是就自动换行。。。。,所以不行
10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有建瓯免费网站建设让你可以放心的选择与我们合作。
在输出的时候,计算输出的宽度,或者输出的个数,在达到一定限度后,增加换行符即可。
以输出100个整型值,每输出10个,自动换行为例,函数编写如下:
void func(int *a)
{
int i;
for(i = 0; i 100; i ++)
{
printf("%d,",a[i]);
if(i%10==9) printf("\n");//每输出10个换行。
}
}
在 scanf();前加上一句话;
如 fflush(stdin);
scanf("",);
fflush(stdin);的作用是 清空缓存区 你输入完后 会回车 结束本次输入 这时回车也被当做一个字符 放到了缓存区 当你用了多个scanf();函数时 下一个函数会认为你给它的字符是回车 所以就不再让你再次输入了
给你举个完整的例子就是: 比如你想循环输入多个字符给一个字符型的数组赋值 可以这样来写代码
#includestdio.h
int main()
{
int i;//用于循环控制
char m;//临时存放输入的字符
char a[10]={'0'};//给数组初始化
for(i=0;i10;i++)
{//循环输入 多个字符并给数组赋值
printf("请输入第%d个字符:",i+1);
fflush(stdin);
scanf("%c",m);
a[i]=m;
}
for(i=0;i10;i++)//循环输出
printf("%c ",a[i]);
printf("\n");
return 0;
}