急求c语言运算顺序的程序

求可以测试以下各表达式运算顺序
y=*px++
y=*++py
y=(*py)++
y=--*ppx++
麻烦再附上解释哦~~~很急!!!
以上的*号都是指针的意思~~~麻烦帮俺写出这个程序~~俺实在是写不出来~~~

#include <stdio.h>
int main()
{
int a[2]={1,11};
int b[2]={2,22};
int c[2]={3,33};
int *px=a;
int *py=b;
int *ppx=c;

int y=0;

y=*px++;
/* 指针向后移动 ,应该是y的值是11,*px的值是11 */
printf("after y=*px++,y=%d,*px=%d\n",y,*px);

y=*++py;
/* 指针先向后移动一个值,再用,所以应该是y的值是22,*py的值是22 */
printf("after y=*++py,y=%d,*py=%d\n",y,*py);

py=b;
y=(*py)++;
/* 先赋值给y再加, y=2,py=3 */
printf("after y=(*py)++,y=%d,*py=%d\n",y,*py);

y=--*ppx++;
/* 指针向后移动后自减再赋值,y=32,*ppx=32 */
printf("after y=--*ppx++,y=%d,*ppx=%d\n",y,*ppx);

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-05-27
y=*px++
相当于:y=*px;px++

y=*++py
相当于:++py;y=*py;

y=(*py)++
相当于:y=*py;(*py)++;

y=--*px++
相当于:--(*px);y=px;px++;
第2个回答  2008-05-27
x++:先用再加
++x:先加后用
第3个回答  2008-05-27
先运算px++,再运算y*px
先运算++py,再运算y*py
第三、四条语句 *是指针
先运算ppx++.
第4个回答  2008-05-27
这里的px和py应该都是指针吧

急求c语言运算顺序的程序
int main(){ int a[2]={1,11};int b[2]={2,22};int c[2]={3,33};int *px=a;int *py=b;int *ppx=c;int y=0;y=*px++;\/* 指针向后移动 ,应该是y的值是11,*px的值是11 *\/ printf("after y=*px++,y=%d,*px=%d\\n",y,*px);y=*++py;\/* 指针先向后移动一个...

C语言 运算的顺序
1、先说运算顺序,是从上到下,一句一句的算的。从4行开始,赋值a1.b6.c3。计算5行,q=a+b+c=1+6+3=10 计算6行,a++,a=a+1=2 计算7行,++b,b=b+1=7 计算8行,z=a+b+c=2+7+3=12 执行9行,打印zabq分别是12.2.7.10 注意第9行代码有错误,双引号内的 z=……q=…...

c语言表达式的顺序怎样?
根据从左到右计算顺序,结合运算符优先级,根据定义 a = 3, b = 4, c = 5,假定 a,b,c 为 int。真值为1,假值为0。计算步骤如下:1、计算 a + b,结果为 a + b = 7 2、计算 !( a + b) 结果为 0,也可以认为是false(假)。3、计算 c\/2,假定c为int时,结果为 2(...

c语言四则运算程序怎么写
加法运算是最简单的四则运算之一,其基本形式为atb,其中a和b为加数,+为加号,其结果为两个加数的和。在C语言中,加法运算可以使用“+”符号进行表示,例如:inta=10;intb= 20;intc=a+b;printf("a+b=%dn",c)。上述代码中,定义了两个整型变量a和b,分别赋值为10和20,然后使用“+”符号进...

计算机智能算数的C语言程序
一个最累的程序 写了半天 还不是很完善 你参考一下吧 include <stdio.h> define Ad(x,y) (x+y)define Mi(x,y) (x-y)define Mu(x,y) (x*y)define Di(x,y) (x\/y)int falg=0;float po[24][4];void game24();void test(float a,float b,float c,float d);v...

c语言,求具体运算过程。
即输出28 然后第六十七遍循环,i是67 然后,x是67 ++x是68 68%2==0成立 ++x是69 69%3==0成立 ++x是70 70%7==0成立 输出x,即输出70 最后输出两个数28和70 做这道题的时候,用代入法,用给出的答案进行运算,减去2要能将2除开,减去1要能将3除开,而且其本身要能将7除开。

如何理解c语言- i--与- i++的运算顺序?
-i--就是先进行i--运算,然后再取其负值。下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>...

求c语言编写四则运算程序
else error();\/*extraneous cahrs on line*\/ } main(){ do { calculate();}while(1);} float exp(void){ float temp = term();while((token=='+')||(token=='-'))switch(token){ case '+':match('+');temp+=term();break;case '-':match('-');temp-=term();break;} r...

如何用C语言实现四则运算?
程序清单:include "stdafx.h"#include <stdio.h>#include <math.h> void main(){ \/\/定义变量 int minusNumber=-10; int plusNumber=0; \/\/转换成正数 plusNumber=abs(minusNumber); \/\/输出结果 printf("转换前:%d\\n",minusNumber); printf("转换后:%d\\n",plusNumber);} ...

帮我说说这个C语言的运算顺序吧!拜托了
1、x+=x-=x+x ;这是赋值运算符,运算顺序是从右到左。即先将x+x的值减赋给x变量(x-=x+x,即x=7-14=-7),再将x+=-7 所以x的最终的值为-7+-7 为-14 2、k=(i=1,++i,i++);这是将括号中的值计算出来后再赋值给变量k,i=1,++i,i++ 从左向右运算,将最后一个表达式...

相似回答