黑马程序员技术交流社区

标题: 函数调用语句怎么写(与数组有关的) [打印本页]

作者: 15342193033    时间: 2014-12-26 15:34
标题: 函数调用语句怎么写(与数组有关的)
# include<stdio.h>
void main()
{
  char HanShu(char *a[]);
        char str[10] = {0};
        //就是想调用函数,但老出错,显示:C:\c\x.cpp(8) : error C2664: 'HanShu' : cannot convert parameter 1 from 'char [10]' to 'char *[]'
         int a = HanShu(str);
}
char HanShu(char *a[])
{
int a = 10;
return 10;
}

作者: 寒城秋水    时间: 2014-12-26 16:18
没有提前声明,
作者: 寒城秋水    时间: 2014-12-26 16:20
没有提前声明
作者: 15342193033    时间: 2014-12-26 16:25
:o,main函数里第一句并不就是声明吗?char HanShu(char *a[]);
跟声明有关系吗?要是没声明的话,显示的错误应该是说:这个函数没定义吧!!
作者: 从今以后    时间: 2014-12-26 17:39
参数名和定义的变量名重复了吧估计 这个int a和char *a[]什么关系呢,如果是想修改首元素,*a = 10;
作者: 从今以后    时间: 2014-12-26 17:48
从今以后 发表于 2014-12-26 17:39
参数名和定义的变量名重复了吧估计 这个int a和char *a[]什么关系呢,如果是想修改首元素,*a = 10; ...

看错一个, 参数写的char *a[],是**类型,而传递的是数组名,是*,不匹配也。
作者: 15342193033    时间: 2014-12-26 21:28
什么意思啊,求详解啊/**类型??是什么
作者: 从今以后    时间: 2014-12-27 00:08
15342193033 发表于 2014-12-26 21:28
什么意思啊,求详解啊/**类型??是什么

**是指向指针的指针,二级指针。char HanShu(char a[])改成这样,另外函数内部int a变量名和形参重名也不可以的,如果你的意思是想修改数组首元素,应该是*a = 10;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2