求大佬们指点!为什么程序我也发运行啊!
程序要求是提取数据中的数字并求和!这是我的代码
#include<stdio.h>
int main()
{
float a;
int x;
long long int sum;
sum=0;
while(x=(scanf("%f",&a))!=EOF) //没有数据时退出循环
{
if(x!=0) //scanf读取到字母时被挡住,返回值是0,读取到数字时返回值是1,我用这个作为条件,是不是有什么问题??
{
sum=sum+a;
}
else
{
getchar();
}
}
printf("%f",sum);
return 0;
}
输入数据按下回车后就没动静了,按ctrl+c也没反应
请教了! #include<stdio.h>
int main(void)
{
float a ;
int x ;
float sum ;// 用于累加浮点数的变量一定要定义为 long long int ? 什么动机???
sum = 0 ;
while((x = scanf("%f" , & a)) != EOF)
{
while(getchar() != '\n') ; // 为了防止在输入字母时进入死循环,必须添加此句
if(x) sum += a ;
}
printf("%f\n" , sum) ;
return 0 ;
}
编译运行实况:
D:\\C>g++ -o x3 x3.c
D:\\C>x3
1.23
a.bc
c.de
3.14
v.sd
2.78
^Z
7.150000
D:\\C> jackz007 发表于 2022-12-8 23:41
编译运行实况:
谢谢大佬!
页:
[1]