前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每周小题--函数传值

每周小题--函数传值

作者头像
编程珠玑
发布2019-11-24 01:02:06
6360
发布2019-11-24 01:02:06
举报
文章被收录于专栏:编程珠玑编程珠玑

来源:公众号【编程珠玑】

作者:守望先生

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,%d\n",a,b);
    printf("%s,%s\n",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指向的字符串,应该如何修改?

本文问题答案可在《函数参数的传值和传指针有什么区别?》中寻找并加深理解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程珠玑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档