c语言求助

fun((a++,b++,a+b),c++)
是如何运算的

答案是8
过程如下:
fun((a++,b++,a+b),c++)
先看:(a++,b++,a+b) 这个过程a++相当于1+1=2 b++相当于2+1=3 a+b=5 ,由于逗号表达式选
取的是最后一项的值,所以传入的x值是5
而c++在这里++还未起作用由于后缀的++是先用原值再加1,所以在return (x+y);里y的值仍是3,
所以最终的结果是5+3. 需要说明一下的是,(a++,b++,a+b)由于逗号的作用a+b中a,b使用的都是加1后的值了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-17
fun函数2个参数:
一个是a++,b++,(a+b)
一个是c++

逗号运算符,从左往右,a++后,a是2,b++后,b是3,a+b是5。所以这个参数传进5.

c++,先将c自身的值3传进fun函数,再自加。所以是该参数传入的是3不是4.

结果是8

C语言作业求助,十分感谢
C代码和运行结果如下:输如10个数,成功输出了它们的最大值、最小值和平均值,望采纳~附源码:include <stdio.h> int main() { int max, min, sum, num, i;scanf("%d", &num); \/\/ 先输入一1个数 max = min = sum = num;for (i = 0; i < 9; i++) { \/\/ 再输入剩下9...

c语言求助代码该怎么写,能附带讲解说明最好。
include <stdio.h>void fun() { printf("Smile! ");}int main() { \/\/ 需要打印 3 行, 所以从 0 遍历到 3 for (int i = 0; i < 3; i++) { \/\/ 每行需要打印 "Smile! " 的个数为 3 - i for (int j = 0; j < 3 - i; j++) { fun(); }...

C语言小白求助···
include <stdio.h>int main(){int a[3][3];int i = 0, j = 0, num = 1;for(;i < 3;i++){for(;j < 3;j++){a[i][j] = num;++num;}}\/\/对角线我随便选一个,比如是左上到右下的int result = a[0][0] + a[1][1] + a[2][2];printf("%d",result);return ...

C语言求助求助求大佬救命
第一空:int MAX,MIN;int input_function(int *);int sorting_function(int *);int output_function(int *);第二空:array_data 第三空:array_data[i]=value;第四空:array_data[j-1]>array_data[j]第五空:(i+1)%5==0 另每一个函数最后一个}前加一句return 0;或把函数名前的int...

C语言菜鸟求助:执行语句for(i=0;i++
C语言菜鸟求助:执行语句for(i=0;i++<3;) printf("%d",i);后,程式输出为? 程式执行过程如下 第一次:i=0, 比较0<3,然后i++,i=1,执行输出1 第二次:i=1, 比较1<3,然后i++,i=2,执行输出2 第三次:i=2, 比较2<3,然后i++,i=3,执行输出3 第四次:i=3, ...

求助c语言代码
首先,我们需要定义一个结构体来存储学生的成绩信息,然后创建一个二维数组来存储20个班的40名学生的5门课程的成绩。接着,我们需要编写一个函数来生成随机成绩,并计算每个班、每门课程的平均分。最后,我们需要对平均分进行排序并输出结果。include <stdio.h> include <stdlib.h> include \/\/ 定义结...

C语言作业求助,谢谢
你可以使用如下代码来求解5 * 5矩阵外圈数据的和:在上面的代码中,我们定义了一个5 * 5的矩阵,然后使用四个循环分别求出矩阵的第一行,最后一行,第一列和最后一列的和。最后,我们把所有求出来的和相加,就得到了矩阵外圈元素的和。include <stdio.h>int main(){\/\/ 定义5*5的矩阵(二维数组...

c语言编程求助,越多越好我可以加,一题也行,感谢大神!
1#include<stdio.h>int prime(int n){ int flag=1; if(n<=1) return 0; for(int i=2;i*i<=n;i++){ if(n%i==0){ flag=0; break; } } if(flag) return 1; else return 0;}int main(){ int t; scanf("%d",&t); if(prime(t...

c语言问题求助
文中说的是10000000代表-128。详细描述如下:[+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补 计算机将第1位作为符号位,0表示正数,1表示负数。原码:原码很好理解,第1位是符号位,其余位表示数值。反码:(1)正数:正数反码是其...

c语言代码求助
代码文本:include "stdio.h"int main(int argc,char *argv[]){ char a[80];int i,j,k;while(1){ printf("Please enter a string(Length<80)...\\n");if((a[0]=getchar())==EOF)break;for(i=1;i<80;i++)if((a[i]=getchar())=='\\n')a[i]='\\0',i=79;for(i=j=...

相似回答
大家正在搜