首页 > 用户发贴区 > 编程问题提问区 > 函数调用的问题
2007
11-12

我是C初学者,请大家给看看下面的程序错在哪
目的:通过程序调用实现修改字符串

#include <stdio.h>
int swap_str(char *s)
{
s=”hi”;
return 1;
}
int main()

{
char  *msg=”hello”;
printf(“%s\n”,msg);
swap_str(msg);
printf(“%s\n”,msg);
return 1;
}


函数调用的问题》有 4 条评论

  1. 我是求学者 说:

    最好把原题COPY上来,不过我想大概是你定义函数swap_str时,不应用’='而应该用’==’,主函数结尾那句有些看不懂,

  2. 5iluo 说:

    #include <stdio.h>
    int swap_str(char **s)
    {
    *s=”hi”;
    return 1;
    }
    int main()

    {
    char  *msg=”hello”;
    printf(“%s\n”,msg);
    swap_str(&msg);
    printf(“%s\n”,msg);
    return 1;
    }

  3. 我是求学者 说:

    楼上弟兄倒数第3行用&啥意思?

  4. zqc2007 说:

    他这里是要用&msg把msg的地址传给*S的,然后用*S赋值hl。这样一来字符就直接存在msg里面了。*S等于msg而不能用s来赋值!msg能出现的地方*S就能出现了!!!

    逼人愚见,还请指点!!!!!!!!!!

留下一个回复