prompt - 接收 0 到 120 之间的数字
问题描述
我试图让程序继续询问他们的年龄,直到程序收到一个介于 0 和 120 之间的数字。我已经设置了一个 do while 循环,但我收到一条错误消息,任何帮助将不胜感激。
{
string name = get_string("What's your name?\n");
printf("Hello, %s\n", name);
sleep(1);
do
{
int age = get_int("How old are you?\n");
}
while (age < 1 || age > 120)
printf("Wow, %s you've been around for atleast %i days!\n", name, age * 365);
sleep(1);
错误信息
name.c:14:8: error: use of undeclared identifier 'age'
while (age < 1 || age > 120)
^
name.c:14:19: error: use of undeclared identifier 'age'
while (age < 1 || age > 120)
^
name.c:16:71: error: use of undeclared identifier 'age'
printf("Wow, %s you've been around for atleast %i days!\n", name, age * 365);
^
name.c:21:42: error: use of undeclared identifier 'age'
printf("So you're %i and from %s\n", age, town);
^
4 errors generated.
<builtin>: recipe for target 'name' failed
make: *** [name] Error 1
解决方案
age
在外部声明do
:
int age;
do {
age = get_int("How old are you?\n");
}
while (age < 1 || age > 120)
推荐阅读
- django - 从下拉列表中打开新页面的 Ajax 调用不起作用
- javascript - 在数组问题中存储 Highcharts
- c# - 如何通过代码以编程方式将“覆盖高 DPI 缩放”设置为“应用程序”
- ios - 防止在 IOS Objective-C 中手动截屏
- android - 如果键盘显示,Android SpellChecker 不起作用
- python - 如何笛卡尔乘以描述两个字典的比率?
- java - NewRelic - Java 代理检查是否未使用旧包
- google-maps - 是否有任何 api 可以从 google maps Api 获取 3D 地图?
- android - 选择列表正在单击,但未显示蓝色勾号
- java - 实现普罗米修斯时的竞争条件