c语言 void main() { int x=10, y=10; x+=++x;

作者&投稿:晋陈 (若有异议请与网页底部的电邮联系)
C语言中void main和int main有什么区别~

1、有无返回值
void main没有返回值,int main有返回值。
2、返回值类型
int main返回int类型的数据,void main不返回。
但是在C语言推荐写法中,建议使用int main,因为在有的编译器虽然viod main可以通过编译,但在其他编译器就会报错。为了代码拥有更好的可移植性,一般写int main。


扩展资料代码示例
#include int main(void){ printf("Hello, World!
"); return 0;
}
上述的代码中为int main,返回了一个0,数据类型为int。
数据类型
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)
char:字符型类型数据,属于整型数据的一种。(K&R时期引入)
int:整型数据,表示范围通常为编译器指定的内存字节长。(K&R时期引入)
float:单精度浮点型数据,属于浮点数据的一种。(K&R时期引入)
double:双精度浮点型数据,属于浮点数据的一种。(K&R时期引入)
参考资料来源:百度百科-c语言

void main 和 int main的区别就是有无返回值。
在int main 可以出现非 int 类型的东西。在写代码时,一个函数要么有返回值,要么没有返回值没有返回值就用void来表示。 main函数同样的,在没有返回值时加个void 。有的编译器必须main要有返回值 int , 那就写成int main 。
至于什么时候需要哪种写法,不必有这种顾虑,你可以一律都写成 int main ,然后在方法体中 最后加个return 0 ;就行了。
void main 和 int main 在作用上其实没什么区别啊,只是有的严谨的编译器必须要main有int 返回值而已,这两种写法跟自定义的函数没任何关系。

扩展资料:
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)C/C++中从来没有定义过void main()。
C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main() {/*...*/} is not and never has been C++, nor has it even been C.(void main() 从来就不存在于C++或者C)。
在C和C++中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 或者是void main()。
然而这是错误的!main函数的返回值应该定义为int类型,C和C++标准中都是这样规定的。虽然在一些编译器中,void main可以通过编译(如vc6),但并非所有编译器都支持void main,因为标准中从来没有定义过void main。
g++3.2、dev C++等环境中如果main函数的返回值不是int类型,根本无法通过编译。而gcc3.2则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main。
参考资料:main函数_百度百科

x+=++x;
等价于:++x; x+=x;
取用x前先自增,x变为11,再执行x=x+x。于是11+11=22
y+=y++;
等价于:y+=y; y++;
这是先运算后y再自增。y=10+10=20,然后再增1,变为21。

自增运算符++优先级大于+运算符
正如楼下所说
X=X+(++X);
Y=Y+(Y++);
++X先将X加1,再运算X+X;即结果为X+1+X+1=2X+2=22;
Y++虽然先自增,但是要在做下一个运算,即+时才体现出来,所以Y++结果为Y;而算 Y+Y 时就是前一个Y为Y自增后的结果Y+1,后一个Y暂时保留原来的值,最后即是Y+Y+1=2Y+1=21

不好意思,第二个楼下那位 “听不清啊” 说的对,是先运算再自增,,,

x+=++x;//前置++,的值x已经改变了,所以是11+11=22
y+=y++;//后置++的值y原来的值不变,所以是10+11=21
望采纳,谢谢合作

可以把式子改成下面就好懂了:
X=X+(++X);
Y=Y+(Y++);

int x=10, y=10;
x=x+(++x);
y=y+(y++);

和上面是等效的


中江县17022273491: C语言中的“void main()”是什么意思? -
枞聂骨肽: main()是程序的主函数的意思 前面的void是返回值类型 也就是说这个主函数返回的是空值 如果是 int main()则表明这个主函数的返回值类型是整型 等等 应该所有的主函数都会表明返回值类型吧 我也是刚学的 没看过太多东西 希望这些对你有帮助

中江县17022273491: c语言中的void main是什么意思谢谢了,大神帮忙啊 -
枞聂骨肽: void main是c语言函数的入口,通过它可以进行函数的调用 void表示该函数没有返回值 main表示主函数的意义

中江县17022273491: C语言中 void main 代表什么意思? -
枞聂骨肽: 在 C 和 C++ 中,不接收任何参数也不返回任何信息的主函数原型为“void main(void)”. 可能正是因为这个,所以很多人都误认为如果不需要程序返回任何信息时可以把 main 函数定义成 void main(void) .然而这是错误的!main 函数的返回...

中江县17022273491: C 语言中void main 是什么意思?
枞聂骨肽: 从词面上来解释 void 意味着没有返回的类型 main主要的它也是C语言程序中程序的入口.主程序的返回值其实可以有返回类型的 通常是int 但是这样往往要在主程序写到最后要加上return 0;这样告诉计算机程序结束了 否则还是用void这个就不用在程序最后加return语句了

中江县17022273491: 在c语言中void main 是什么意思,有什么作用?? -
枞聂骨肽: 主线程开始入口,程序总是从这里main函数开始加载执行的. VOID 只是说明这个函数没有返回值,不过现在都不建议用void main() 建议用int main();

中江县17022273491: C语言中void main和main具体的区别 -
枞聂骨肽: void 在这里的意思就是“无返回值”main()函数是C语言的主调函数,其他的函数都是在这个函数体内进等调用!我们知道,函数有的有返回值,有的没有; 有返回值的就加返回的数据类型如int double float 指针 等等;最后的return 语句返回的是什么类型,在函数声明中就是什么类型;int add(int a,int b) { return a+b; }如果没有返回值,你前面就加void void add(int a,int b) { printf("%d",a+b); }C++里面,main函数的返回值是一个整型数据,return 0;return 1都随你,只要是一个整型数据就行!

中江县17022273491: c语言中void main是甚么意思
枞聂骨肽: 主函数无返回值

中江县17022273491: c语言中void main()是什么意思? -
枞聂骨肽: void型无返回值 void main() 函数体内不用 return 0;

中江县17022273491: c语言中void main() -
枞聂骨肽: 标准C语言的main函数 int main(int argc,char **args) 其中argc代表参数个数args代表参数列表 C 99标准建议把main函数指定为int型(整型),它要求函数带回一个整数值.在main函数中,在执行的最后设置一个“return 0;“语句.当主函数正常结束时,得到的函数值为0,当执行main函数过程中出现异常或错误时,函数值为一个非0的整数.这个函数值是返回给调用main函数的操作系统的.程序员可以利用操作指令检查main函数的返回值,从而判断main函数是否已正常执行.不写这个语句,有的C编译系统会在目标程序中自动加上这一语句.也就是说 这个语句不是必须存在的

中江县17022273491: 在c语言中,void main()与int main()有什么区别?为什么有时还直接用main()? -
枞聂骨肽: 区别就是有无返回值.写代码时,函数有返回值,就用int,没有返回值就用void.有的编译器必须main要有返回值 int , 那就写成int main .你可以都写成int main ,然后在后面加个return 0 ;他俩在作用上没什么区别.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网