【发布时间】:2014-04-03 03:44:40
【问题描述】:
作为初学者,我目前在 OSX 上使用 Sublime Text 学习编程。 附加的代码是通过 Sublime Text 编译的。 运行时错误是,当我输入任何非整数数据(例如“a”或“9.3”)时,while 循环不会中断。
下面是工作说明:
测试一个只有一个重复的main()函数的程序:
1。要求用户输入一个整数,
2。读取一个整数,
3。处理整数如下:返回以终止程序为 0,为 1 打印“一”,为 2 打印“二”,为任何其他整数打印“我不知道”。
例如以下是可能出现在终端上的可能序列,其中整数由用户输入:
请输入整数
2
2
请输入整数
33
我不知道
请输入一个整数
1
一个请输入一个整数
0
下面是我的代码。
感谢您的帮助。
#include <stdio.h>
int main(){
int n;
int a = 1;
while (a!=0){
printf("Please enter an integer\n");
scanf("%d", &n);
if (n == 1) printf("one\n");
else if (n==2) printf("two\n");
else if (n==0) return 0;
else if (n<0 || n >2) printf("I don't know that\n");
}
}
【问题讨论】:
-
可以加
else break;吗? -
Hello World 确实有效。前几天我提到了这个链接。stackoverflow.com/questions/10059511/…
-
在我的机器上运行良好(GNU GCC 编译器)。
-
@green_claws 那么
else a=0;也应该这样做。 -
@ElliottFrisch 这确实是一种解决方案。谢谢!
标签: c