#include<stdio.h> int a[]={1,5,7,9,11,13} main() {int *p; p=a+3; printf("%d,%d,%d,%d\n",*p,*p++,*(p+2),*(a+4)); }
//怎么不是输出9,9,7,11而是11,9,5,11呀????????????
你的输出值是运行结果么?
在我的bc31上出的结果是:11,9,13,11
我也对*p的输出有疑问?
为什么是11,而不是9?
printf()是从右往左计算的
#include<stdio.h> int a[]={1,5,7,9,11,13};
main() { int *p; p=a+3; printf("%d,%d,%d\n",*p,*p++,*p++); }
13,11,9
我看书上说printf的使用是和编译器有关,不都是从右向左输,也有有左向右输的,
我用过的WIN-TC 和VISUAL C++是从右向左输的.
2楼的跟我一样
因为从左到右还是从右到左计算要看实际的]
在潭的书上写了,试试就可以了嘛
我不明白为什么你的变量名可以加上星号?????
还有定义变量可以在main函数外面么????
回答我 好么?
又来了!!!
反正我还没有弄明白!!!
乱,代码!