#include <stdio.h> main() { int x=20; printf("%d ",0<x<20); printf("%d\n&
答案:2 悬赏:80 手机版
解决时间 2021-02-25 21:29
- 提问者网友:咪咪
- 2021-02-24 21:09
问什么结果是十呢,还有高手么麻烦留个QQ 邮箱,有空就直接问你了谢谢
最佳答案
- 五星知识达人网友:街头电车
- 2021-02-24 22:00
首先你理解错了输出,它是10不是十。意思是第一次输出1,第二次输出0.
0
后面那个是两个表达式相与,0
所以运行后就输出10.
0
全部回答
- 1楼网友:污到你湿
- 2021-02-24 23:17
这个结果应该是0吧。。。
因为func函数传的是值,只是简单的将x的值传给func函数,然后在func函数中重修修改传入的值,将0修改为20,这一步只是在修改传入值的值,如果在f函数中答应x,结果会是20,但是此致仅仅是func函数x的值,不是主函数x的值,当fun函数执行完后,其栈空间销毁,自然不从在func函数的x,在主函数中答应的是main函数的x,它并未改变。为0;
如果fun函数传入的是x的地址,则在func函数中就改变了x的值。这是程序这样写:
#include
main()
{
int x=0;
func(&x);
printf("%d\n",x);
}
func(int * x)
{
*x=20;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯