A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张涛的狂怒 中级黑马   /  2014-11-21 12:33  /  862 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

void f(int *a, int *b)
{
    int t;
    t = *a;
    *a = *b;
    *b = t;
}
int main()
{
    int x = 3, y = 4;
    f(&x, &y);
    printf("%d,%d", x, y);
    return 0;
}
***************************
#include <stdio.h>
void gg(char *s,char *p)
{
    char m[20];
    *m=*s;
    *s=*p;
    *p=*m;
    printf("----\ns==%s\np==%s\n-----\n",s,p);
}
int main()
{
    char s []= "hello c";
    char p []= "hell world";
    printf("s==%s\np==%s\n",s,p);
    gg(s,p);
    printf("s==%s\np==%s\n",s,p);
    return 0;
}
怎样才能通过调用gg改变输出字符串

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

2 个回复

倒序浏览
要传递指针的指针才可以。

#include <stdio.h>
void gg(char **s,char **p)
{
    long temp;
   
    temp = *s;
   
    *s = *p;
   
    *p = temp;
    printf("----\ns==%s\np==%s\n-----\n",(char *)s,(char *)p);
}
int main()
{
    char s [20]= "hello c";
    char p [20]= "hell world";
    printf("s==%s\np==%s\n",s,p);
    gg((char **)s,(char **)p);
    printf("s==%s\np==%s\n",s,p);
    return 0;
}
回复 使用道具 举报
wang2003 发表于 2014-11-22 21:16
要传递指针的指针才可以。

#include

谢谢明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马