|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int main()
- {
- int sum = 0,temp = 0,status;
-
- while(status == 1)
- {
- printf("请输入一个合法的数字:");
- status = scanf("%d",&temp);
- sum = sum + temp;
- }
- printf("结果是:%d",sum);
-
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2021-9-23 16:13 编辑
错误原因是,当最后键入非数字字符时,temp 仍然参与了计算,而这个时候的 temp 是前一次输入的数字 3。
修改方法是,只有在确定 temp 输入有效的情况下,才进行累加。
- #include<stdio.h>
- int main()
- {
- int sum = 0 , temp = 0 , status ;
- do {
- sum += temp ;
- printf("请输入一个合法的数字:") ;
- } while (scanf("%d" , & temp) == 1) ;
- printf("结果是:%d\n" , sum) ;
- }
复制代码
|
|