当前位置: 代码迷 >> C语言 >> 很急呀!!1
  详细解决方案

很急呀!!1

热度:324   发布时间:2004-10-04 23:09:00.0
很急呀!!1

#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呀????????????

搜索更多相关的解决方案: include  

----------------解决方案--------------------------------------------------------

你的输出值是运行结果么?

在我的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


----------------解决方案--------------------------------------------------------
以下是引用knocker在2004-10-05 15:16:56的发言:

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的说法
----------------解决方案--------------------------------------------------------
以下是引用bcomer在2004-10-05 16:06:30的发言:

我看书上说printf的使用是和编译器有关,不都是从右向左输,也有有左向右输的,

我用过的WIN-TC 和VISUAL C++是从右向左输的.

我同意此说法,所以说嘛,printf语句中最好不要用到诸如i++ ++i的东西,特别输出值是多个的时候。
----------------解决方案--------------------------------------------------------

2楼的跟我一样

因为从左到右还是从右到左计算要看实际的]

在潭的书上写了,试试就可以了嘛


----------------解决方案--------------------------------------------------------

我不明白为什么你的变量名可以加上星号?????

还有定义变量可以在main函数外面么????

回答我 好么?


----------------解决方案--------------------------------------------------------

又来了!!!

反正我还没有弄明白!!!

乱,代码!


----------------解决方案--------------------------------------------------------
  相关解决方案