问答详情
源自:6-7 字符串与数组

这是哪里错了吗?

#include <stdio.h>

/* 定义say函数 */

void say(char string)       //数组参数应该怎么写呢?

{

    printf("%s\n",string);//打印字符串

}


int main()

{

    //定义字符串数组

    char string[] = "我在慕课网上学习IT技能!";

    say(string);                //调用say函数输出字符串

    return 0;

}


提问者:慕瓜8559404 2019-07-09 11:16

个回答

  • JonahPeng
    2020-04-21 23:01:57

    修改方法如楼上,传递的形参是一个char基类而非字符串首地址,你要理解,char和string在作为形参传递时是不一样的,char是字符的“值”而string是首字符的”地址“,相当于传递了一个索引给函数,使得函数能够根据索引读取整个字符串。所以记住在传递字符串时应当以指针传递,string[]本质上也是指针。

  • 慕少3292145
    2019-11-12 13:53:43

    void say(char* string)

  • 皂滑弄人ttt
    2019-07-09 15:23:59

    void sat(char string[])