来源:公众号【编程珠玑】
作者:守望先生
ID:shouwangxiansheng
下面代码输出结果是什么?
代码语言:javascript复制//来源:公众号【编程珠玑】#include<stdio.h>
void swap_int(int a , int b)
{
int temp = a;
a = b;
b = temp;
}
void swap_str(char* a , char* b)
{
char* temp = a;
a = b;
b = temp;
}
int main(void)
{
int a = 10;
int b = 5;
char* str_a = "hello world";
char* str_b = "world hello";
swap_int(a , b);
swap_str(str_a , str_b);
printf("%d,%dn",a,b);
printf("%s,%sn",str_a,str_b);
return 0;
}
A:
代码语言:javascript复制5,10
hello world,world hello
B:
代码语言:javascript复制5,10
world hello,hello world
C:
代码语言:javascript复制10,5
world hello,hello world
D:
代码语言:javascript复制10,5
hello world,world hello
如果要交换a和b的内容,以及str_a和str_b指向的字符串,应该如何修改?
本文问题答案可在《函数参数的传值和传指针有什么区别?》中寻找并加深理解。