读书人

关于scanf的有关问题

发布时间: 2012-03-31 13:13:26 作者: rapoo

关于scanf的问题
int a[3];
int y=0;

scanf ("%d %d %d", &a[y++], &a[y++], &a[y++]);

for (y=0; y<3; y++)
printf ("%d ", a[y]);

我输入
1 2 3 时,

输出为什么是 3 2 1 ?


[解决办法]
这是因为你编译器在运算时候进栈出栈的顺序决定的,不要在一个表达式中用多个y++语句。。。会有歧义,在不同的编译器中得到的结果是不同的

读书人网 >C语言

热点推荐