输入2个整数a和b,交换其值,然后输出a和b的值。 #include <stdio.h> int main(void) { int a, b, temp; scanf("%d%d", &a, &b); ; a = b; ; printf("%d %d\n", a, b);
时间: 2024-10-07 07:05:35 浏览: 62
c代码-a b的交换
这段代码是为了实现输入两个整数a和b,通过临时变量temp来进行它们之间的值交换,并最终输出交换后的结果。以下是逐步解释:
1. 定义三个整型变量a、b和temp,用于存储输入的数值和临时交换用的值。
2. 使用`scanf`函数从用户那里读取两个整数a和b的值,并将它们分别存储到&a和&b对应的内存位置。
3. 创建了一个赋值语句 `a = b;`,这一步直接将b的值赋予了a,此时a的值变成了b原始值,而b的值依然是未改变的原始值。
4. 要真正完成交换,应该让temp暂存a的旧值,即 `temp = a;` 然后用b的新值替换a,即 `a = b;` 最后用temp的旧值替换b,即 `b = temp;`
5. 使用`printf`函数输出交换后的a和b的值,`%d %d\n`是一个格式说明符,表示接下来打印两个整数,`\n`表示换行。
正确的代码应该是这样的:
```c
#include <stdio.h>
int main(void) {
int a, b, temp;
scanf("%d%d", &a, &b);
temp = a; // 暂存a的值
a = b; // 将b的值给a
b = temp; // 将temp(原a的值)给b
printf("%d %d\n", a, b); // 输出交换后的结果
}
```
阅读全文