我正试图使用各种类型的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 %dn", 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 %dn", num1, num1*num1*num1);
num1++;
}
getchar();
return 0;
}
PS我的第一种编程语言是Python,所以我很困惑为什么C在第一个for循环之后停止。。。:(
main()
和main1()
是两个不同的函数。您的系统调用程序的入口点main()
。当main()
结束时,也就是程序终止的时候。main1
根本没有被触碰。
连接这两个函数(将main1
复制粘贴到main
中)或从main()
调用main1()
。但你需要先进行远期申报:
int main1(void);
int main(void)
{
// ...
main1();
}
int main1(void) { ... }
顺便说一句,main1
并不是一个很好的函数名称,因为它类似于main
。这可能会让维护代码的人感到困惑。
在声明num和num1之后,将for循环中的num设置为1,但在while循环中不设置num1。加上提到的主要功能问题