【发布时间】:2013-05-06 14:55:33
【问题描述】:
我编写了一个简单的程序,其中包含一个计算圆面积的函数。
该程序还询问用户是否要再次计算它,如果输入是'N',则程序应该停止。
这是缩小范围的测试用例:
#include<stdio.h>
#include<string.h>
int main(void)
{
float r;
char f;
do {
printf("Type the radius\n");
scanf("%f", &r);
printf("Repeat? [Press N for stop]");
scanf("%c", &f);
} while(f != 'N');
getch();
return 0;
}
但循环永远不会按预期停止。
你有什么建议吗?
【问题讨论】:
-
“不工作”到底是什么意思?
-
@KaranMer 它就在那里。仔细看,缩进有点挑战性:D
-
@KaranMer 在循环结束时应该是这样吗?
-
告诉他至少正确对齐
-
实际上,完美的问题将继续你自己的努力,这将展示你如何尝试解决这个问题,例如“我在第二个
scanf设置了一个断点,但是当我输入N 时,f的值更改为\n,但我不明白为什么会这样”......类似这样的事情: )