您的位置:首页 > 编程语言 > C语言/C++

c++错题

2015-09-26 16:56 260 查看
已有变量定义和函数调用语句,

1

2

int a=25;

print_value(&a);

则下面函数的正确输出结果是__

1

2

3

4

void print_value(int* x)

{

printf(“%x\n”,++*x);

}

答案:

1a

原因:

1考察运算符的优先级,* 的优先级要比++高,*x = 25;之后由于是先++ 再输出,所以应该输出十进制的26。

2考察printf的输出格式问题,好多时候习惯性输出十进制,但是这道题中很明显是“%x”,即十六进制,所以是 【1a】。

假如题目中变为 printf(“%x\n”,*x++); 应该输出 【19】,也就是十进制【25】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: