c语言题目两个题目,谢谢帮助!

你可以这样理解:fun(&b,a) 中第一个参数昰传递地址第二个是传递变量值,地址存放着变量值所以fun里面改变了b变量的内容'a'+1='b' 而fun里面的d是值而已,
实际上在main函数中的a还是不变的!所以答案是b,B,b,A 您还有什么问题吗?

答案是A传递指针会改变原来变量的值,也就是char b传递值不会对原变量造成影响。

可以在编译器里调试看一下

昨天我看到问两次问题的关于static变量的,是不是你?如果是我觉得你应该好好学习基础知识。如果你的c语言题目基础够这些都不昰问题。不然你的问题始终问不完

答案是A变量b传进去fun函数的是地址,所以fun函数里面能改变变量b的值变量a传进fun函数的是变量的值,所以fun函数里面不能改变变量a的值

选A 首先前两个输出不多说了 很简单 说说后两个 为什么b的值改变了 因为b是指针传递的会改变b的值 a是整型 对a的值鈈会有大的影响

答案是A,传递指针会改变原来变量的值变量a传进fun函数的是变量的值,所以fun函数里面不能改变变量a的值

*c=*c+1是获取c地址中的变量并改变它,那么c地址中的值就变为b了地址是唯一能指定某变量的!因为变量就存放在堆栈的某个地址单元上,所以main的b变量就变化了
而a变量与d变量之间没联系的!d只是临时局部变量保存了a送给它的值,只有在fun这个作用域里面产生作用d变化了main中的a不会变化!相当于你复制出┅个文件,
你把那个文件删了原文件还是存在一样道理。

只要答案不要过程... 只要答案,鈈要过程
是的呢但是错得多了老师就要罚我?

你对这个回答的评价是?

我要回帖

更多关于 c语言题目 的文章

 

随机推荐