1#define JH(x,y) {x^=y;;y^=x;x^=y;}/*这是什么意思*/#include <stdio.h>main(){ int x=10,y=1; JH(x,y); printf("%d,%d",x,y);}2#define N 6#include <stdio.h>main(){ char c[N]; int i=0; for(;i<N;c[i]=getchar(),i++) ; for(i=0;i<N;i++)putchar(c[i]);printf("\n");}/*输入ab回车c回车def回车后为什么答案是abcd*/
热心网友
第一题题目有没有错,以我经验来看,第一题应该是要考你交换的吧?第二题你一定没有注意套回车也算一个字符,ab回车这边就是三个字符了,c回车两个,def回车四个,总计9个,因为 N最大值为6,9超过了,于是只能够输出到第六个字符的d。明白了吗?
热心网友
1. x,y互换. 呵呵,其实前面这位都答对了.不过我可以告诉你其实现过得. 就是通过三个异或运算实现的.把整型的x=10,y=1化成二进制形式:x=1010,y=0001.再做异或运算就可以得到结果了. 如第一步的x^=y运算为 x 1010 ^y ^0001 = 1010 即十进制的10; 这时x的值就是十进制10了. 下面还有两步你自己算一下就是啦. 2.如前面这位逸闲居士所说.