【发布时间】:2014-09-05 21:58:29
【问题描述】:
我正在尝试使用各种类型的 for 循环来查找从 1 到 10 的数字的立方。我想知道为什么在我的 for 循环评估后,程序停止并且不继续评估 while 循环?有人可以帮忙吗?顺便说一下,for 循环和 while 循环应该做同样的事情。谢谢。
#include <stdio.h>
#include <stdlib.h>
/*
*
*/
int main(void)
{
int num;
for ( num=1; num<11; num++){
printf("The cube of %d is %d\n", num, num*num*num);
}
getchar();
return 0;
}
#include <stdio.h>
int main1(void)
{
int num1;
scanf("%d", &num1);
while (num1<11) {
printf("The cube of %d is %d\n", num1, num1*num1*num1);
num1++;
}
getchar();
return 0;
}
PS 我的第一个编程语言是 Python,所以我很困惑为什么 C 在第一个 for 循环之后停止... :(
【问题讨论】:
-
当特殊的
main()函数返回时,您的程序将终止。尝试在辅助函数中执行每种立方体。然后让main给他们两个打电话,一个接一个。 -
main()是程序的入口点。main1()是一个永远不会被调用的函数。如果您从 python 的角度考虑它 -main()和main1()将等于def main()和def main1()- 您将如何在 python 中调用这些函数? -
另外,如果两个主电源在同一个文件中,则不需要包含 stdio 2x。在 for 循环之后,您可以尝试
int resultMain = main1(); -
因为你输入了
while (num1<11),所以无论如何它都不适用于超过 10 个输入。如果num1扫描超过 10 个,您的循环甚至不会进入。
标签: c for-loop multiplication cubic