我只是想让程序取1到9之间的数字并计算半径并显示它。这个程序应该循环,但我得到的是“感谢您使用该软件!”打印功能,它没有经过循环,我似乎无法理解为什么。循环跳过语句
#include <stdio.h>
int main(void){
float i,r, V;
for(i=0; i <= 4; i++){
while (r != 0) {
printf("Enter a radius between 1 and 9: \n");
scanf ("%f", &r);
V= (3.141592)*r*r*10;
if (r>=1 && r<=9){
printf("The cylinder volume is %f\n", V);
}
else if (r > 9 || r < 0){
printf ("The input is out of the acceptable range. Select an integer less than $/n");
}
printf("Thank you for using the software!\n");
}
return 0;
}
你是什么意思我不初始化r,我仍然是一个noob,所以我的行话有点慢。 – Levetica
这意味着你永远不会给它赋值,所以它会给你垃圾(无论以前在那个内存位置)。初始化意味着你为它分配一个合法的值,即'r = 1.0;' –
好吧,我明白什么是初始化意味着现在,但如果我不知道用户将输入什么值,我将如何为变量赋值。程序的要点是要求用户输入1到9之间的数字,并将该数字分配给变量r,进行计算,再次将答案重新分配给r,然后显示该数字。在我知道哪些数字可以分配之前,我如何将r分配给一个数字? – Levetica