早教吧作业答案频道 -->其他-->
求助一个关于C语言指针的问题int main(){x09int a[]={1,2,3,4,5};x09int *p=a;x09printf("%d,%d,%d,%d,%d,%d,%d ",*p,*(++p),(*p)++,*p,*p--,--(*p),*p);x09return 0;}这段程序运行结果是2,2,0,0,0,0,1我不明白的是printf里面的参
题目详情
求助一个关于C语言指针的问题
int main()
{
\x09int a[]={1,2,3,4,5};
\x09int *p=a;
\x09printf("%d,%d,%d,%d,%d,%d,%d\n",*p,*(++p),(*p)++,*p,*p--,--(*p),*p);
\x09return 0;
}
这段程序运行结果是2,2,0,0,0,0,1
我不明白的是printf里面的参数结合是从右向左的,那么在结合到*p--后,p不是已经越界了吗?后面的结果是怎么得到的?
int main()
{
\x09int a[]={1,2,3,4,5};
\x09int *p=a;
\x09printf("%d,%d,%d,%d,%d,%d,%d\n",*p,*(++p),(*p)++,*p,*p--,--(*p),*p);
\x09return 0;
}
这段程序运行结果是2,2,0,0,0,0,1
我不明白的是printf里面的参数结合是从右向左的,那么在结合到*p--后,p不是已经越界了吗?后面的结果是怎么得到的?
▼优质解答
答案和解析
其实C标准对于函数参数的求值顺序是没有规定的.像在我的机子上win7 vc6出来的结果都是0,自己在编程过程中应该避免这个问题,对于同一个变量相关表达式不要重复求值.如果是考试的话,这个,你看看答案怎么说吧.
看了 求助一个关于C语言指针的问题...的网友还看了以下:
一道高一关于氨基酸的生物题~免疫球蛋白igg说明蛋白质具有( )作用,人血红蛋白说明蛋白质有( ) 2020-05-17 …
唐代大诗人李白经常饮酒赋诗,下面这道题《李白买酒》诗却是一道极其有趣的数学题:李白街上走,提壶去买 2020-05-20 …
唐代大诗人李白经常饮酒赋诗,下面这道题《李白买酒》诗却是一道极其有趣的数学题:李白街上走,提壶去买 2020-05-22 …
一道数学难题,袋子里红球与白球个数之比是19:13,放入若干只红球之后红球与白球数量之比是5:3, 2020-06-10 …
谈白菜李锐①曾见过齐白石一幅斗方:一棵肥硕的白菜配两枚鲜红辣椒;题曰:“牡丹为花之王,荔枝为果之先 2020-06-13 …
“白发谁家翁媪”和“白发三千丈”中的“白发”是相同的意思么?《清平乐.村居》是一首词的题目,对么? 2020-06-15 …
方程组题皮球是由五边形的黑皮和六边形的白皮组成的!如果一个足球黑白两皮共32块!那么黑白两皮共多少 2020-06-17 …
阅读下面这首诗,然后回答问题。(8分)裴给事宅白牡丹(唐)裴潾长安豪贵惜春残,争赏街西紫牡丹。别有 2020-06-24 …
1、我的劳动没有白费.2、东方发白了.3、爸爸也在表白自己的心.4、这项发明,填补了我国一项空白.这 2020-10-30 …
请阅读下列短文,并回答问题爱迪生和白炽电灯白炽电灯是爱迪生发明的,他最先制成了实用、经济的白炽电灯. 2020-11-01 …