sizeof是取字节运算符,void是空类型,sizeof(void)运算的结果是void类型的变量所占的内存单元(即字节数)数,我认为应该是0,你的输出结果是1,可能你的版本和我的不一样,使用的编译器不一样吧 你可以试试sizeof(int),int 类型的变量占4个内存单元(4个字节),所以结果为4 或sizeof(fl...
萌新请问,输出结果为..不是学c的,学过点JAVA首页进来讨论一下第8行 i++是先判断后执行,也就是说a[i++]编译时是a[i],再i=i+1,再将i+1赋给a[0],i在编译时经过两次自增,所以结果a[0]=2
说毫无用处的我不敢恭维那人技术.. 你这个问题涉及到java虚拟机内部的问题,所以导致和C不同,我说下情况:java中无论是自增i++,++i都会在内存开辟出新的空间存放其值,最后将新空间值赋值给左侧变量。销毁新空间.区别在于 后置时(++在后),新空间保存原来的值,然后进行自增,新空间原来值在赋...
一道C语言题请教高手main() {inta=0,i; for(i=1;i<5;i++) {switch(i) {case0; case3:a+=2; case1; case2:a+=3; default:a+=5; } } printf("%d",a); } 这个题输出结果为31,请为什么? 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 第1次FOR循环 case0; ca...
就为三,式子变成了a+=3+2 a+=a+5 此时a还为2,就是2+5=7 在java中 展开为a=a+(a++)+(++a),java中++和其他运算符混用时结合性不同的a+(a++)是左结合,(++a)是右结合,这答案为啥是5你就应该懂了吧 在c中没区别,在jav中就有区别,这就是为啥结果不同的原因 ...
一道C语言题请教高手main() {inta=0,i; for(i=1;i<5;i++) {switch(i) {case0; case3:a+=2; case1; case2:a+=3; default:a+=5; } } printf("%d",a); } 这个题输出结果为31,请为什么? 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 第1次FOR循环 case0; ca...