看到一个问题,求解
int main()
{
int a=5,b=6;
printf("%d, %d" +1, a,b);
return 0;
}
A. 5, 6
B. 6, 7
C. d, 5
D.Error
[解决办法]
应该是C
"d, %d" +1后变成了字符串"d, %d"
相当于printf("d, %d",a,b);printf忽略多的参数。
[解决办法]
引用:
先膜拜下一楼!!
指针加1相当于去掉了最前面的一个%,
"%d, %d" +1 相当于 "d, %d" ,结果自然是C了
先膜拜下一楼!!
[解决办法]
C,这个知道printf输出原理即可
[解决办法]
明显C,在C与指针一书中明确说明"xxxxx"在函数调用中位指针的首地址,在本例中就是指针+1,相当于传递是"d, %d"作为格式化字符串,答案明显就是C了