早教吧作业答案频道 -->其他-->
求助一个关于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语言指针的问题...的网友还看了以下:
23.请说明下面漫画《何去何从》的题面内容,并用一句话揭示其中的寓意。 2020-05-14 …
正方体ABCD-A1B1C1D1中,E,F分别是AD,DD1的中点,AB=4,则过B,E,F的平面 2020-05-14 …
一道初学函数,求自变量取值范围的题,面积一定的梯形,其上底长是下底长的1/3,设下底长x=15cm 2020-05-14 …
我和同学自学高一数学课程 有一处没有弄懂的题目原题:已知2f(1/x)+f(x)=x (x不为0) 2020-05-16 …
求解一道关于导数的题f(x)在点x0处满足f(x0)的一阶导数等于二阶导数等于0 并且f(x0)的 2020-05-17 …
帮我看下这些T,F的题目我不敢确定,帮帮忙啦...TheUnitedStatesofAmerica 2020-05-23 …
问个简单的高一函数概念章的题已知f(x)=x^2+2x-3,求(1)f(-2),f[f(-2)]( 2020-06-03 …
一个函数周期问题虽说f(x+3)=-f(x),等价转换为f(x+6)=f(x).但是请问他们在对称 2020-06-04 …
y=f(x)是什么意思说详细一点,为什么有y,那么y代表什么,f又代表什么,为什么f的后面有(x) 2020-06-12 …
三个相同的正方体组成一个长方体,长方体的体积是64平方分米,体积是32立方分米.判断正错,要计算过 2020-06-15 …