如下有个C语言代码,想知道在输入十个整数是时候为什么不能用逗号隔开???谢谢你的 回答!!!

#include "stdlib.h"
#include "stdio.h"
void main()
{
int i,s=0;
printf("请输入十个整数,中间用敲回车隔开:\n");
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("这十个整数中每位数字的平方和分别为:\n");
for(i=0;i<10;i++)
{
s=0;

while((a[i]/10>0)||(a[i]%10!=0))
{
s=s+(a[i]%10)*(a[i]%10);
a[i]=a[i]/10;
}
printf("%d\t",s);
}
system("pause");
}

额,你的意思是 你想按照下面的形式进行输入:1,2,3,4,5,6,7,8,9,0
?如果是这样的话,很简单的,只要加一句,就可以了,在 scanf("%d", &a[i]);下面再加一句:
getchar();这样就可以了;
至于为什么不可以,那是因为 scanf函数 不读取 空格 制表符 回车 ,但是 标点符号之类的还是会读取的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-02
每次输入完毕之后,需要点回车确认而不是点逗号确认,所以不行。把代码改成:
for(i=0;i<10;i++)
{
scanf("%d,",&a[i]);
}
就行了。
比如,可以依次输入(输入的逗号为英文逗号):
10,20,30,40,50,60,70,80,90
再按回车,就行了。
望楼主采纳。
第2个回答  2011-09-02
你这个语句当然不能用逗号了,因为逗号储存在缓冲区使后面的输入读取有问题,你可以这样写
for(i=0;i<10;i++)
{
scanf("%d,",&a[i]); //%d后面加个逗号
}
第3个回答  2011-09-02
在C语言中,输入数据时只有空格或回车代表输入这个数据结束然后继续输入下个数据,除此之外的任意按键都不表示输入结束,你想输入的时候用逗号,你可以这样scanf("%d,",&a[i])加个逗号,那你输入数据后必须输入逗号,要不然出错。
第4个回答  2020-01-27
每次输入完毕之后,需要点回车确认而不是点逗号确认,所以不行。把代码改成:
for(i=0;i<10;i++)
{
scanf("%d,",&a[i]);
}
就行了。
比如,可以依次输入(输入的逗号为英文逗号):
10,20,30,40,50,60,70,80,90
再按回车,就行了。
望楼主采纳。
相似回答