C 返回主函数中的变量
我可以在主函数中返回一个变量吗?喜欢C 返回主函数中的变量,c,return,C,Return,我可以在主函数中返回一个变量吗?喜欢 #include <stdio.h> #include <stdlib.h> int main(int factorial,int n) { n=1; printf("Enter a number to find it's factorial: "); scanf("%d",&factorial); while(factorial!=0){ n*=factorial;
#include <stdio.h>
#include <stdlib.h>
int main(int factorial,int n)
{
n=1;
printf("Enter a number to find it's factorial: ");
scanf("%d",&factorial);
while(factorial!=0){
n*=factorial;
factorial--;
}
//printf("%d",n);
return ("%d",n); //Here
return n; //neither works
}
#包括
#包括
int main(int阶乘,int n)
{
n=1;
printf(“输入一个数字以找到它的阶乘:”);
scanf(“%d”和阶乘);
while(阶乘!=0){
n*=阶乘;
阶乘--;
}
//printf(“%d”,n);
return(“%d”,n);//此处
返回n;//两者都不起作用
}
它不返回变量n。是返回值0语句仅用于说明程序运行正常?main的返回值应指示程序如何退出。正常退出通常由main的0返回值表示。异常终止通常由非零返回信号表示,但对于如何解释非零代码没有标准 返回值为0;声明仅用于说明该程序有效 好吧 是的,main函数的返回值只显示程序是如何退出的,与您处理非main函数的返回值一样,没有其他使用此值的方法,例如为其他用途返回值
返回值由程序运行内部任务的环境(如DOS或其他操作系统)解释。程序无法使用该值。让我们一步一步地分析代码
int main(int factorial,int n)
函数main
接受两个参数:int
类型的factorial
,和int
类型的n
,并返回类型为int
的对象错误:main
是一个特殊函数,它的唯一有效签名是int main()
和int main(int,char**)
,或其后的任何兼容类型,如int main(int,const char*const[])
{
开始功能main
n = 1;
为int
类型的变量n
赋值1
printf("Enter a number to find it's factorial: ");
}
使用参数调用函数printf
“输入一个数字以查找其阶乘:
类型为const char*
”。可变长度参数列表为空。函数的返回值(类型为int
)将被丢弃
scanf("%d", &factorial);
while(factorial != 0) {
使用const char*
类型的参数%d“
调用函数scanf
。可变长度参数列表包含一个参数:&factorial
,类型为int*
。函数的返回值(类型为int
)将被丢弃
scanf("%d", &factorial);
while(factorial != 0) {
虽然factorial
不等于0
,但请执行
n *= factorial;
分配n
将n
乘以factorial
的结果
factorial--;
在表达式后减量factorial
,并丢弃表达式的值(类型int
)
在阻塞时结束
//printf("%d",n);
注释行。对程序没有影响
return ("%d",n); //Here
表达式(“%d”,n)
使用逗号运算符计算“%d”
表达式,然后计算n
表达式,然后计算后者,实际上忽略前者。因此,这相当于返回n代码>
return n; //neither works
由于之前的return语句已经在此时运行,因此这是永远不会执行的死代码。无论如何,它相当于前面的return语句
}
结束功能main
n = 1;
现在,除了错误的main
签名和结尾的死代码之外,您完全正确。是的,如果main
的返回值为零,则表示程序已成功执行。否则,它将执行失败,返回值的目的是提供(广泛的)错误信息
我希望这对你有启发 看这里:它没有我的答案。你的最后一个假设非常接近:它告诉环境程序是完成正常(通常返回0)还是有错误(返回非0值)。否则,main()应该返回到哪里?链接的问题怎么没有你的答案?接受的答案以“main的返回值应指示程序如何退出”开头。这正是你想要的答案。如果你想告诉环境你的计算结果(这似乎是你要问的),只需打印数值。