冒泡排序是通过逐项比较、交换来排列顺序的,因此要用一重循环来确定要排序的每一个数,用另一重循环来与其它数作比较。
“for(i=0;i<5;i++) i 在上面的程序中已经设定,循环过了,这里设的i的初始值和上面的for(i=3;i>=0;i--)不同,这里怎么理解啊!!! 如果在这里改成for(j=0;j<5;j++)可以吗 ”
i 在上面用过了,循环结束后它已经不需要了,因此可以在输出结果时重新赋值使用。如果在程序中,前面循环结束后,i的值还要使用,那么就要另外用变量来输出排序结果了。后面用j是一样的。
----------------解决方案--------------------------------------------------------
问题3:
int a=14,b=15,x ;
char c='A' ;
x=(a&b)&&(c<'a');
这时x的值为 1
a&b 表示变量a与变量b作位与运算,即:
14: 0000000000001110
15: 0000000000001111 (位与)
-----------
结果: 0000000000001110 (=14)
在C中,字符数据是按ASCII码来处理的,'A'的值为65,'a'的值为97。所以(c < 'a')结果为真,即1;
x = 14 && 1
= 1
----------------解决方案--------------------------------------------------------