c语言运算结果函数,C语言运算结果

c语言函数问题,求结果

答案是22

站在用户的角度思考问题,与客户深入沟通,找到茂南网站设计与茂南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖茂南地区。

调用函数fun时,先计算fun(--x,--y); 再计算fun(x++,y++)

前缀 -- (或++):是先减(加)1后再将其结果代入运算

后缀 ++ (或--):是先代入数据后在对其进行加(减)1运算

故而

第一步:计算fun(--x,--y)时实际上代入的值为 fun(5,6) == 11; 即先将x和y减1后再代入

此时 x == 5, y == 6

第二步:计算fun(x++,y++)时,代入的值为fun(5,6) == 11; 即先将x和y代入运算然后再加1

此次调用后x == 6,y==7

第三步:计算fun(fun(x++,y++),fun(--x,--y)) ,此时实际上代入的值为 fun(11,11) == 22;

因此函数运行后 z 的值为 22; x 的值为6,y 的值为7

另外就是楼主最后一条打印语句出错了,应该是笔误吧:改为 printf("%d\n",z);

c语言四则运算

#include stdio.h

#include stdlib.h

#include time.h

int n,n1;

char fun(int op){if(op==0)return '+';else if(op==1)return '*';else if(op==2)return '-';else return '/';}

int Compute( int a, int b, int op )

{

int p;

if(op==0)p=a+b;else if(op==1)p=a*b;else if(op==2)p=a-b;else p=a/b;

if(n==p){n1++;

return 1;}

else

return 0;

}

void Print(int flag)

{

if(flag==1)printf("Right!\n");

else

printf("Not correct!\n");

}

void main()

{

srand((unsigned)time(NULL));

int a,b,op,i=0,num;

while(true)

{

if(i==10)break;

a=rand()%10+1;

b=rand()%10+1;

op=rand()%4;

if(a%b==0a=b)

{

i++;

printf("%d%c%d=",a,fun(op),b);

scanf("%d",n);

num=Compute(a,b,op);

Print(num);

}

}

printf("you grade is:%d,you falsed %d!\n",n1*10,10-n1);

}

c语言的函数返回值?

你可以这么理解,比如我们定义了一个函数fun(),如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值,那么通常他就是一个独立的语句存在。

比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如

a=fun();b=a+fun();if(fun()=0{};……这类的语句,表示a=0;b=a+0;if(00){};等等,当然也可能是返回一个变量的值,你个指针的值是一样的。

如果没有return 语句,那么函数没有返回值,调用函数里面就不能把他当做一个数值来使用,会出现:

fun();单独成句的语句,在fun()里面可能进行了一些操作,但不需要结果。

C语言自带的函数通常都有返回值,计算函数返回计算结果,操作函数返回操作结果(成功返回1,失败返回0)


网站名称:c语言运算结果函数,C语言运算结果
转载来于:http://pwwzsj.com/article/dsscsij.html