白禾二少

静水流深

导航

【DAY1 - 11.12】书屋注册题

皮皮书屋,一个面向程序员的站点,它的注册题很有意思,摘录了三个。
http://www.ppurl.com/register/
 
1.
int main()
{

    int i=43;
    printf("%d\n",printf("%d",printf("%d",i)));
    return 0;
}
执行结果:4321 
printf返回值是输出的字符个数
 
2.
1 int main()
2 {
3 
4     int a = 1;
5     printf("%d\n",a<<2 +a);
6     return 0;
7 }
执行结果:8 ()嘿嘿 自己做出来的
 
3.
 1 int main()
 2 {
 3     int arr[ARRAY_SIZE] = {51,116,53,120,85,66,71,98,86,100};
 4     int i, j;
 5     for(i = 0; i < ARRAY_SIZE; i++)
 6         for(j = 0; j < ARRAY_SIZE-1; j++)
 7             if(arr[j] > arr[j+1]) {
 8                 arr[j] ^= arr[j+1];
 9                 arr[j+1] ^= arr[j];
10                 arr[j] ^= arr[j+1];
11             }
12     for(i = 0; i < ARRAY_SIZE; i++)
13          printf("%c", arr[i],arr[i]);
14 }
执行结果:35BGUVbdtx
第一个for循环将数组从小到大排列。^ 是位异或的意思,if语句实现将两个交换位置。

posted on 2012-11-13 10:55  白禾二少  阅读(170)  评论(0)    收藏  举报