int x1=30,x2=40; void sub(int x,int y) { x1=x;x=y;y=x1; } void main() { int x3=10,x4=20; sub...
时间: 2023-12-02 11:02:11 浏览: 157
int main和int main(void)区别
3星 · 编辑精心推荐
这段代码存在一些问题,可能是笔误或者意图不明确。首先,函数sub中的语句x1=x应该是x=x1,因为x1是全局变量。另外,函数sub中的第三条语句y=x1应该是x1=y,才能实现交换x和y的值。最后,函数main中调用sub函数的语句sub(x3,x4)缺少分号。修改后的代码如下:
```
#include <stdio.h>
int x1=30, x2=40;
void sub(int x, int y) {
int temp = x1;
x1 = x;
x = temp;
x1 = y;
y = x;
}
int main() {
int x3 = 10, x4 = 20;
sub(x3, x4);
printf("%d %d %d %d\n", x1, x2, x3, x4);
return 0;
}
```
运行结果为:20 40 10 20。在函数sub中,x和y的值并没有被用到,所以交换操作并没有起到任何作用。在函数main中,打印出了全局变量x1和x2的值,以及局部变量x3和x4的值。
阅读全文