C+ 高级语言程序设计问题???

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:26:24
麻烦请帮忙回答一下以下几道题 谢谢了!!!

有以下程序
#include<stdio.h>
char fun(char x,char y)
{
if(x)return y;
}
main()
{int a=‘9‘,b=‘8‘,c=‘7‘;
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序执行的结果是______
A.7 B.8 C.9 D.函数调用错误 答案是A
请说明一下为什么选择A
还有想问一下fun(fun(a,b),fun(b,c)));什么意思???

设有inta[]={10,11,12},*p=&a[0];,则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是
A.1,11,12 B.11,12,12 C.10,12,12 D.11,11,12
答案是C 为什么??
还有*p++ *和++具有相同的优先级别 运算时自右向左 那么是不是先运算++呢???

语句printf("a\ber\‘hi\‘y\\bou\n");输出的结果是________
答案是 re‘hi‘you 请说明答案为什么是这样???

fun(fun(a,b),fun(b,c)));是把fun(a,b)和fun(b,c)的结果即返回值作为参数传给fun函数,fun(a,b)返回b,fun(b,c)返回c,最后fun(b,c)返回c 即‘7’,printf函数的最终输出值。
是先算++,但p++是先引用值,再加,*p++结果是p=&a[1],*p+=1结果是a[1]=a[1]+1,即a[1]=12.故为c
'\b'是控制字符,作用是退一个字符,相当于按一下backspace。‘\’是转义字符,‘\'’即输出‘