sppk.net
当前位置:首页 >> C语言,在主函数中为什么不能修改函数的返回值??? >>

C语言,在主函数中为什么不能修改函数的返回值???

这个函数返回的是一个地址,不能作为左值 比如你在windows下编程,函数返回值存放在eax寄存器中 那么回到main函数的时候eax里存放的就是whw函数返回的一个地址的值,假设为0xffffffff 想象一下,0xffffffff = 5是几个意思,就类似于表达式15 = 5...

调用一个函数的时候,比如: int func(int a,int b,int *c); int main(){ int i1,i2,i3[12]; func(i1,i2,i3); return 0; } 调用func的时候,首先在函数func的区域内(就和main的区域一样,其他区域的操作不能访问main里面的变量)建立了3个变量:...

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值 但是由于历史原因,很多地方可以看到没有返回值的main。比如直接main()或者说void main() 但是这样一般编译器也不会认为错误 不过建议还是写标准...

#include enum ENUMTEST { A,B,C }; enum ENUMTEST aaa(int i) //这样 { if(i==0) return A; if(i==1) return B; if(i==2) return C; } int main() { printf("%d",aaa(1)); }

应该定义函数类型为void 注意 不能是不写 如果不写 那么默认返回值是int 只有明确写明返回值是void类型,那么才是没有返回值的 比如 void func(int a);

return后接一个值。 在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值 就声明 int func() 在调用它的比如main里面 func()的作用就可以相当于一个int型...

可以使用全局变量,例子如下: #includeint a;void f();int main(){a=10;f();}void f() //自定义函数{printf("a=%d\n",a);}

这个很容易理解,指针变量保存的是地址信息,*p这个是取p指针保存的地址里面的值,更改的也是保持的地址里面的值。 而函数中传递的是变量的拷贝,比如指针传递的就是他保存的地址 如果在函数中对他保存的地址改掉,那么是不影响主函数中的变量的...

return,顾名思义,从函数调用执行中返回,可以分两种情况: 1)void 2)非void 对于void,在函数的最后一行代码,可以不用;其他地方,因为你要返回函数调用,所以必须要用。 对于非void,既然函数返回值类型定义为非void,那么肯定需要使用这...

你的程序恐怕连编译都不能通过吧,有语法错误。

网站首页 | 网站地图
All rights reserved Powered by www.sppk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com