夏天真热作文150字:帮忙说下为什么

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 13:58:56
以下程序的输出结果是( B )
main()
{ char st[20]= "hello\0\t\\\n";
printf(%d %d \n",strlen(st),sizeof(st));
}
A} 9 9 B} 9 20 C} 13 20 D} 20 20

以下程序的输出结果是( B )
int a, b;
void fun()
{ a=100; b=200; }
main()
{ int a=5, b=7;
fun();
printf("%d%d \n", a,b);
}
A} 100200 B} 57 C} 200100 D} 75

以下程序的输出结果是( D )
#define M(x,y,z) x*y+z
main()
{ int a=1,b=2, c=3;
printf("%d\n", M(a+b,b+c, c+a));
}
A} 19 B} 17 C} 15 D} 12

第一题:strlen返回的是数组的内容hello\0\t\\\n的长度,除去转义符\,刚好9个,sizeof返回的是数组的大小
第二题,fun()函数只影响函数内部的变量,而a跟b是外部函数,所以fun()函数不起作用
第三题,M(a+b,b+c,c+a)计算时候变成 1+2*2+3+3+1,所以等于12