超级简单C语言请详细解释黄色字体
Succs[snum++]=i
不明白sum++是什么意思,后面的=i又是什么意思
请举例子
🙏🙏
int n = 1;
int a = ++n; // 前置++,先给n+=1,然后赋给变量a,a的值为2,n的值为2
int b = n++; // 后置++,先将a的值赋给b,再给n+=1,b的值为2,n的值为3
// 所以上面这句可拆分理解:
Succs[snum++]=i
// 相当于:
Succs[snum] = i // =i 不就是将i的值赋给数组Succs的第snum个元素么,难理解?
snum += 1; // 因为是后置++,所以执行上面的语句后再给snum加上1追问
printf("%2d号:", i + 1); // 提示你当前是哪编号的学生
scanf("%d", &tensu[i]); // 将你输入的分数存入tensu数组的第i个元素中
if (tensu[i] > = 60) // 如果你输入的分数>= 60,代表这个学生及格了
succs[snum++] = i; // 学生及格,则将编号按顺序保存到succs数组中,同时snum加1
// snum从0开始,所以第1个及格的保存在0里面,依序自增。
// 数组的基本概念追问
if (tensu[i] >= 60) // 这里用的是i
succs[snum++] = i; // 这里保存的也是i
int a = ++n; // 前置++,先给n+=1,然后赋给变量a,a的值为2,n的值为2
int b = n++; // 后置++,先将a的值赋给b,再给n+=1,b的值为2,n的值为3
// 所以上面这句可拆分理解:
Succs[snum++]=i
// 相当于:
Succs[snum] = i // =i 不就是将i的值赋给数组Succs的第snum个元素么,难理解?
snum += 1; // 因为是后置++,所以执行上面的语句后再给snum加上1追问
能再详细点么 用程序中i=0时举个例子
比如i=0是及格的
那么succss会变成怎么样子
Sum加一后放在哪里?
追答snum是及格学生的人数,succs数组保存的所有及格学生的编号(1...n)
...printf("%2d号:", i + 1); // 提示你当前是哪编号的学生
scanf("%d", &tensu[i]); // 将你输入的分数存入tensu数组的第i个元素中
if (tensu[i] > = 60) // 如果你输入的分数>= 60,代表这个学生及格了
succs[snum++] = i; // 学生及格,则将编号按顺序保存到succs数组中,同时snum加1
// snum从0开始,所以第1个及格的保存在0里面,依序自增。
// 数组的基本概念追问
下边有个SUCCS[i]+1又是什么意思
你的意思是说如果i=0是及格的话,success【0】而sum=1是吗
Snum
Succs[0]=0?snum=1?
懂了!😱😱😱
懂了!!😭😭
有微信么😭以后可以直接问你么😭
追答succs是数组,保存的是遍历时的i,而i的范围是从0开始的,对应succs的下标从0开始
你看看输入的提示:
printf("%2d号:", i + 1); // 这里用的是i+1if (tensu[i] >= 60) // 这里用的是i
succs[snum++] = i; // 这里保存的也是i
综上,当输入第1个学生分数时,提示的是1,保存的编号为0(保存的编号比实际编号小1)
所以,后面要输出及格学生的编号,需要给succs[i]加上1。
前面已经给你解决了,每输入一个>=60的分数,snum会加1,有几个及格的,snum就是几。
i=0,表示第1个,如果及格了,snum自然就是1了。
追问微信加我吧😭我大一 求指引求开导 不然我快活不下去了😭😭对C已经醉了
WECHAT:loewemylove
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-01-04
Succs是个数组名,【sum】代表数组中第几个
sum++ 意识是 sum=sum+1
这句话整个意思是将 i放到Succs【sum】里,同时数组向后移动一位追问
sum++ 意识是 sum=sum+1
这句话整个意思是将 i放到Succs【sum】里,同时数组向后移动一位追问
能再详细点么 用程序中i=0时举个例子
比如i=0是及格的
那么succss会变成怎么样子
同时数组向后移动一位?
不懂,举个例子🙏