第4题
A.for语句中的三个表达式可以同时省略
B.for语句可以用于循环次数不确定的情况
C.for语句中表达式2只能是关系表达式或逻辑表达式
D.for语句中表达式1和表达式3可以是逗号表达式
第5题
A.for语句中的三个表达式不可以同时省略
B.for语句可以用于循环次数不确定的情况
C.for语句中表达式2可以是关系表达式或逻辑表达式
D.for语句中表达式1和表达式3可以是逗号表达式
第6题
有以下程序:
fun(int x,int y){return(x+y);)
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+ b),c++)的返回值为8。
答案应该是7啊。你算算
第7题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
先把c的值传给y,那y的值为2啊,为什么是3呢
第8题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
c++ 应先引用再自增,所以y不应该等于2吗?
第9题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
是把c++的值给y还是把c给y;我觉得是直接把c++的值给y,这时y的值应该是2
第10题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!