#include <stdio.h>
void fun(char a[]){
a[0]^=a[1]^=a[0]^=a[1];
}
int main(int argc, char **argv){
char b[10];
b[0]='h';
b[1]='j';
fun(b);
printf("%c",b[0]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题.它应该交换b[0],b[1]但它不交换.
MBy*_*ByD 11
未定义行为的a[0]^=a[1]^=a[0]^=a[1];.评估和分配顺序未定义.
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |