慕神9422826
受一些gdb的影响
慕妹1208976
9591764
两个函数中的变量有不同的作用域,所以int中的ab,和子函数中的ab就不一样了
琪云
没有关系,只是因为指向的地址不同. 后面能改是因为你直接指向了a变量的地址. 如果不通过地址进行修改的话.只是局部变量. 存在于另一个空间
亦漂然
一样的 就是工具不太一样而已 用了许多年的windows 改成linux 不习惯而已
慕姐5552928
你的是什么版本,我复制了你的代码之后可以显示出来。
发展中的程序猿
change 函数的返回值是 void 啊
因为红
回答了,但是好像在审核
无知的悟空
其实只要是比较新的Linux就可以了,不用太在意版本的
迷茫兔
雪儿525
就是C啊,老师在linux下将的C,所以叫linux C
rovoqo
那不能用gdb调试了,只是生成.exe
心雨翎馨
可以用
Freen247
编译的时候要加入-g选项,例如你要编译hello.c文件,就必须用gcc -g hello.c,这样的话输出的文件a.out才能用gdb进行debug。你可以试下,加入-g这个选项。
熊猫京京AI
闫小呆呆
此时a=5还没执行,打印出的a是你之前赋的值,可能之前赋的值超出了数据类型的范围而去的补码
qq_流年纷飞_2
断点调试:选定某一行,然后选定调试工具栏最右边那个手掌符号(F9),然后选定它旁边那个带箭头的符号(F5).
dire
s(step)执行一行源代码并且进入函数内部;
f(frame)切换调用的上下文,进入相应的栈里,使用该命令可以打印栈层编号,当前的函数名,函数参数值,函数所在的文件及行号,函数执行到的语句等等;
。。。。
wccnew
sky_blue
慕先生8608371
七点半王
你可以尝试编译一下
gcc -Wall main.c -o main.out
看看编译器会不会警告,有警告都是不太好的。
ah_nana