输入是一行中由空格分隔的一些整数,如下所示:
enter numbers: 12 41 2
程序应该获取每个整数并显示总和:
sum: 55
我该怎么做?
编辑:我试过了,但无法检测到回车键。当按下 enter 时,它应该停止并显示总和。
printf("\nEnter numbers: ");
int sum =0;
int temp;
while( scanf("%d",&temp))
{
sum+=temp;
}
printf("Sum: %d",sum);
最佳答案
#include <stdio.h>
int main(){
printf("\nEnter numbers: ");
int sum =0, temp;
char ch;
while(2 == scanf("%d%c", &temp, &ch)){
sum+=temp;
if(ch == '\n')
break;
else if(ch != ' '){
fprintf(stderr, "Invalid input.\n");
return -1;
}
}
printf("Sum: %d\n", sum);
return 0;
}
关于c - 如何从一行中读取多个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23023458/