#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()是从右往左计算的
#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++是从右向左输的.
----------------解决方案--------------------------------------------------------
谢谢啦,祝大家学习快乐
----------------解决方案--------------------------------------------------------
printf语句中最好不要用诸如i++,++i什么的。我同意bcomer的说法
----------------解决方案--------------------------------------------------------
我看书上说printf的使用是和编译器有关,不都是从右向左输,也有有左向右输的,
我用过的WIN-TC 和VISUAL C++是从右向左输的.
----------------解决方案--------------------------------------------------------
2楼的跟我一样
因为从左到右还是从右到左计算要看实际的]
在潭的书上写了,试试就可以了嘛
----------------解决方案--------------------------------------------------------
我不明白为什么你的变量名可以加上星号?????
还有定义变量可以在main函数外面么????
回答我 好么?
----------------解决方案--------------------------------------------------------
又来了!!!
反正我还没有弄明白!!!
乱,代码!
----------------解决方案--------------------------------------------------------