为什么要用return 0?

看程序:#include<stdio.h>
#define num 5
main()
{
int m[num][num];
int i,j;
printf("enter %d rows %d cols datas for the matrix:\n",num,num);
for(i=0;i<num;i++)
for(j=0;j<num;j++)
scanf("%d",&m[i][j]);
for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
printf("%4d",m[i][j]);
printf("\n");
}
for(i=0;i<num;i++)
for(j=0;j<num;j++)
if(m[i][j]!=m[j][i])
{
printf("the matrix isn't symmetrical.\n");
return 0;
}
printf("the matrix is symmetrical.\n");
}
为什么要用return 0,我把它去掉,然后改成else printf("the matrix is symmetrical.\n"); 为什么不行?

这个程序不用改成void。原来的就可以。改成else printf("the matrix is symmetrical.\n");是不行的。
return 0 的意思是退出程序。 即不执行printf("the matrix is symmetrical.\n");。只有数组中所有的元素满足对称矩阵的条件时 return 0才不会被执行。若只是改成else printf("the matrix is symmetrical.\n");那。。会输出很多的判断结果的。
您原来的程序是对的。
运行结果如下。。
还有什么问题可以问我 。。嘿嘿。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-02
main 前面其实默认的类型是 int

也就是 int main() 所以返回值是 return 0

如果是void main() 是空类型 那么返回值就不用return 0了
第2个回答  2021-03-21

第3个回答  2013-12-02
你能否说明一下你这个程序想要求什么
相似回答