C语言程序输出结果及过程?

求如图c语言的输出第一行和第二行,要详细解题过程,谢谢!

这个程序主要是要说清楚两个循环在这里起什么作用。先说第一个循环,它是相当于是统计选票的工作。事先因为a数组全部清零了,然后就从b数组的第0个元素开始,先读到了一个X等于2,然后就在a数组当中,使a[2]++,然后再去下一个元素,读到4,再使a[4]++。直到所有的有效元素全部结束,遇到-1就结束循环。第二个是一个双重循环,扫描整个a数组,如果遇到a数组的一个元素值>0,那么他就用X来统计输出个数的,如满了三个那就输出这个数后换行,否则的话就输出元素后就不换行。也就是说他控制了每行输出三个元素。
这个循环中,他先遇到的是a[2]]大于零,所以他就输出一个2,然后输出2以后就把a[2]]变成零了,这次输出的循环就结束了。如果中间遇到元素的值为0,那么就不再输出来,所以整个这个二层循环输出的结果就是第一行2 3 4,然后第二行5 5 6追问

a数组一开始是全赋值为0,那a[2]++是变成了了1吗,怎么判断a[2]之后是大于0的

温馨提示:答案为网友推荐,仅供参考
相似回答