模拟飞行787数据包:有关c语言的问题7

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 18:47:00
输出结果是什么呀?
#include <stdio.h>
void main()
{ int i,k,m;
int a[8]={15,60,75,73,92,87,64,79},s[10];
for(k=0;k<10;k++) s[k]=0;
for(i=0;i<8;i++){
k=a[i]/10;s[k]++;
}
m=s[0];k=1;
while (k<10){
if(s[k]!=0) printf("%d#",d[k]);
if (s[k]>m) m=s[k];
k++;
}
printf("%d",m);
}
其中的s[k]++是什么意思

printf("%d#",d[k]); 这里错了吧,d[k]应该改成s[k]吧
结果是1#2#3#1#1#3
s[k]++就是s数组里第k-1个数自增一。

s数组的第k+1个元素 在原有值的基础上加1

s[k]++; //先引用后自加
想当于
s[k]=s[k];
s[k]=s[k]+1;

++s[k]; //先自加后引用
想当于
s[k]=s[k]+1;
s[k]=s[k];

d[k]写错应改成s[k]