永发信息网

main(){int x=1;void f1(),f2();f1();f2(x);printf("x=%d\n",x);}void f1(void){int x=3; pr

答案:3  悬赏:70  手机版
解决时间 2021-04-02 12:45
main(){int x=1;void f1(),f2();f1();f2(x);printf("x=%d\n",x);}void f1(void){int x=3; printf(x"x=%d\t
最佳答案
#include "stdio.h"
#include "conio.h"
main()
{
int x=1;
void f1(),f2();
f1();
f2(x);
printf("x=%d\n",x);
getch();
}
void f1(void)
{
int x=3;
printf("x=%d\t",x);
}
void f2(int x)
{
printf("x=%d\t",++x);
}

首先,你提供的代码 printf(x"x=%d\t,x);这句错了,正确代码如上修改
代码的执行从main()函数开始,执行,首先调用函数f1();这个没什么说的直接输出函数内部的局部变量x=3;
接着调用函数f2(int x);这个由于x是传入刚开始定义的变量(int x=1;),是一个整形变量,是值类型,传入x=1;然后执行函数f2() 的表达式++x;(++x)相当于x=x+1;然后输出x=2;最后输出开始定义的变量x=1;虽然x传入函数f2()内部改变为x=2;但是由于x是值类型,所以外部定义的x的值并未改变,最终输出的还是最初定义的值x=1;

所以最终的输出为:x=3,x=2,x=1;
全部回答
- -!有点混乱啊!
朋友能不能注意一下代码的格式?没法看下去了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
公司领导应不应该参与员工自己组织的休闲团体
谁懂真空啊,这个代表什么啊谢谢大神
英国Alevel物理总成绩计算问题!!急!!
含有东西的成语
申论复习两个月能提高吗
近期三星s7edge涨价风波,将来会有什么变化
衣柜折叠门上滑轨上可旋转叫什么,在那儿可买
求教卡刷机,,,牌子DESAY
清代科及第铜牌一块值多少钱
我马上15了才1.63 还有长吗?
H3C S5100是不是三层交换机?如果是,可以在
古代有牛逼这种词语吗
想建一个长30米宽20米的单层钢结构厂房,帮忙
优家购平台建材产品挺多的,请问优家购有厨房
如下国际汇款怎么填写汇款单
推荐资讯
途观上坡辅助系统怎么用
求魔兽世界公会声望速升友善方法
求矿石收音机双回路双调谐电路图
莎莉文老师在海伦生命中起到怎样的作用 一句
牙经常疼,吃点甜的就会疼,是不是有踽齿了
吉他技巧,右手拇指在低音弦上敲击弦,发出咔
求巨蟹么解答
记叙一件成功的事作文滑滑板结尾
外设与CPU怎么连接
五和大都会保险地址
日字加个卯字是什么
15年里甲午年,16年是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?