为了账号安全,请及时绑定邮箱和手机立即绑定

这是哪里错了吗?

#include <stdio.h>

/* 定义say函数 */

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

{

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

}


int main()

{

    //定义字符串数组

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

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

    return 0;

}


正在回答

3 回答

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

1 回复 有任何疑惑可以回复我~

void say(char* string)

0 回复 有任何疑惑可以回复我~

void sat(char string[])

0 回复 有任何疑惑可以回复我~
#1

皂滑弄人ttt

void say(char string[])
2019-07-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926028    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

这是哪里错了吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信