前天注册皮皮书屋,给我出的一道题,问输出结果。初看没看懂中间的数组赋值什么意思,后来在visual studio里调试发现,中间的操作是交换两个变量的值。特此记下来留作参考。
#include <stdio.h>
#include <string>
#define ARRAY_SIZE 10
int main()
{
int arr[ARRAY_SIZE] = {51,116,53,120,85,66,71,98,86,100};
int i, j;
for(i = 0; i < ARRAY_SIZE; i++)
for(j = 0; j < ARRAY_SIZE-1; j++)
if(arr[j] > arr[j+1]) {
arr[j] ^= arr[j+1];
arr[j+1] ^= arr[j];
arr[j] ^= arr[j+1];
}
for(i = 0; i < ARRAY_SIZE; i++)
printf("%c", arr[i],arr[i]);
}