当前位置:编程学习 > C/C++ >>

我是学C语言的新手我想知道C语言这两种写法有什么区别?

#include<stdio.h> void main() { } 和另一种 #include<stdio.h> main(void) { return 0; } 好像这两个框架在Vc++6.0中编译效果一样啊。
答案:第一种是 主函数没有返回值void类型所以没有return

第二种 不写c语言默认的是int类型所有后边跟一个0
其他:话说这2种目前是没有什么区别。
对于初学,也不用在这个问题上纠结。
等你c学到函数的时候就明白了。

有return的那个程序是向系统返回0表示正常结束。

void main()是因为前面有个void的,这个是指返回类型,void表示不返回,所以没有return。如果你加了return 0;可能会有一个警告
欢迎加群80416665,谢谢 返回值不一样,  6.0编译器默认返回值为int。 

如果返回值类型为void,则表示该函数不用返回一个值。 恩  效果一样的 /*上面两种写法有什么区别呢?第一种写法哪错了啊*/ 在做这道题时刚开始printf使用了堆栈的方式,处理它的参数max(score),A 1,B 1 并且是从右往 第一种main函数返回值为空,加不加return都一样;
第二种main函数不声明返回值类型,系统默认返回值类型为int 前者无返回值,后者有返回值。 printf使用了堆栈的方式,处理它的参数max(score),A+1,B+1
并且是从右往左进行处理的

比如:
printf("\n最高分:%.2f 是第%d个学生,%d门课\n",max(score),A+1,B+1); 
不是先调用max(score),而是先把B+1,A+1的值入栈,然后调用max(score)计算结果,最后打印
而分成两句:
float h=max(score); 
printf("\n最高分:%.2f 是第%d个学生,%d门课\n",h,A+1,B+1); 
肯定是先调用max(score),会改变A和B的值,然后再打印h,A+1,B+1
所以,这两种方式得到的结果是不同的

上一个:c语言:在主函数中输入10个等长的字符串。用另一个函数对它们排序。然后再主函数中输出。求高人指点!!
下一个:C语言之科学技术法

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,