void mian()可以不写return 0吗
时间: 2024-03-11 07:48:47 浏览: 51
在 C++ 中,main 函数可以不写 return 0,编译器会自动在程序结束时添加 return 0; 语句。也就是说,下面两个 main 函数是等价的:
```
int main()
{
return 0;
}
```
```
void main()
{
}
```
但是建议在 main 函数中显式添加 return 0;,这样可以让代码更清晰易懂,也可以避免一些编译器可能发出的警告。
相关问题
#include<stdio.h> int func(int n) (if(n==1) return1; else return(n*func(n-1);) void mian0 (int x X=func(3); printf("%d\n"x);)
在这段代码中,有几个语法错误。首先,函数 func 的开头应该是 `int func(int n)` 而不是 `(if(n==1)`. 其次,函数 func 最后的 return 语句需要在右括号前加上一个分号 `;`。最后,主函数的开头应该是 `int main()` 而不是 `void mian0`。修正后的代码如下:
```
#include <stdio.h>
int func(int n) {
if (n == 1)
return 1;
else
return n * func(n - 1);
}
int main() {
int x = func(3);
printf("%d\n", x);
return 0;
}
```
该程序的输出结果是 6,因为 `func(3)` 等于 3 * 2 * 1 = 6。
#include<stdio.h> long fact(int n); int mian(void){ int n; long resoult; printf("input n:"); scanf("%d",&n); resoult=fact(n); if(resoult==-1) printf("error"); else printf("nde jiecheng :%d",n); return 0; } long fact(int n) { if( n < 0 ) return -1; else if(n==0||n==1) return 1; else return(n*fact(n-1)); }哪错了?
该程序中有一个拼写错误,将 `mian` 改为 `main` 即可。另外,程序最后输出的应该是 `n` 的阶乘结果 `resoult`,而不是 `n` 本身。修改后的程序如下:
```
#include<stdio.h>
long fact(int n);
int main(void){
int n;
long result;
printf("input n:");
scanf("%d",&n);
result = fact(n);
if(result == -1)
printf("error");
else
printf("%d的阶乘为:%ld", n, result);
return 0;
}
long fact(int n) {
if(n < 0)
return -1;
else if(n == 0 || n == 1)
return 1;
else
return n * fact(n - 1);
}
```
阅读全文