c - a 和 b 的 Main 成功交换
问题描述
**不交换主要的 a 和 5。我假设指针的某些东西是关闭的。使主要值发生变化的变化是什么?目前它在打印时执行以下操作:**
a= 5
b= 10
a= 10
b= 5
a= 5
b= 10
void swap (int* a, int* b) {
int c = 0 ;
c = a ;
a = b ;
b = c ;
printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;
return ;
}
int main(){
int* a = 5 ;
int* b = 10 ;
printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;
swap (a,b) ;
printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;
return (0) ;
}
解决方案
int* a = 5 ;
int* b = 10 ;
这应该是:
int a = 5 ;
int b = 10 ;
swap(&a, &b)
然后,如果您对代码进行以下更改,您可以使用它们来交换它们swap
:
c = *a ;
*a = *b ;
*b = c ;
printf ("a= %d\n", *a) ;
printf ("b= %d\n", *b) ;
这是一个完整的例子:
void swap (int* a, int* b) {
int c = 0 ;
c = *a ;
*a = *b ;
*b = c ;
printf ("a= %d\n", *a) ;
printf ("b= %d\n", *b) ;
return ;
}
int main(){
int a = 5 ;
int b = 10 ;
printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;
swap (&a,&b) ;
printf ("a= %d\n", a) ;
printf ("b= %d\n", b) ;
return (0) ;
}
推荐阅读
- ios - 如何使搜索结果不显示在搜索栏中的表格视图中?
- xcode - 如何在 Xcode 中编辑 Markdown 文件?
- graphql - GraphQL 仅查询看不见的内容 - Schema Advice
- rust - 如果文件不存在,我如何读取文件或将其连同其目录一起创建?
- reflection - 如何使用反射读取自定义注释值?
- python - Pandas groupby 并应用自定义函数比较两列以更改另一列
- python - tensorflow.keras 模型的准确性、损失和验证指标在 30 个训练阶段保持不变
- c++ - 在 C++ 中的指针数组之间创建链接?
- excel - Excel 不会在计划的 Excel 任务中加载 COM 加载项
- html - 挣扎于简单的 CSS 东西