A-A+
下面程序段的运行结果是()。 char*p= %d a=%d b=%dn; int a=
问题详情
下面程序段的运行结果是()。 char*p=" %d,a=%d,b=%dn"; int a=111,b=10,c; c=a%b; p+=3; printf(p,c,a,b);
A.1,a=111,b=10
B.a=1,b=111
C.a=111,b=10
D.以上结果都不对请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:题中字符指针p指向了字符串“%d,a=%d,b=%d\n”,c=a%b=111%10=1,p+=3使指针p向后移动了3个字符的位置。printf(p,c,a,b)相当于printf(“a=%d,b=%d\n”,c,a,b);,格式控制串指明输出两个数据,输出项有3项,则最后一项不输出,所以答案为B)。注意:格式输出函数scanf的使用。