c语言,这样传参不对吗?

好为 发布于 2013/09/10 11:13
阅读 304
收藏 0

这样传参不对吗? 那array 函数我该怎么写啊。

加载中
1
花想容

不对

int main(void)

{

char* a[] ={"123", "456", "789"};

array(sizeof(a)/sizeof(a[0]), a);


return 0;

}

花想容
回复 @好为 : 不能直接array(3, {"123", "456", "789"}); 必须先定义数组char* a[] = {"", "", ""};再调用array(3, a);才行
jiang-h09
jiang-h09
回复 @好为 : 您的函数的第二个参数要求是指针类型,所以只能传地址,写成array(3, a)和array(3, &a[0])都是可以的
好为
好为
{xxx, ...} 直接放到array 第二个参数 里它就报错啊
1
李察德-泰森
李察德-泰森
#include <stdio.h>

void array(int length, char *argv[]) {
    int i;
    for(i = 0; i < length; i++) {
        printf("%s\n", argv[i]);
    }
}

int main()
{
    char *a[] = {"123", "456", "789"};
    array(3, a);
    return 0;
}
好为
好为
为什么这样传参也报错啊。 array( 3, {"123", "456", "789"} );
0
虚无道长
虚无道长
哎呀妈呀。。我怎么感觉不对呀。要求int ,怎么传字符串。argv也可以这么传的吗?说好的两个,怎么你给三呀。
0
方方2011
函数参数改为,(int length,char *argv)
返回顶部
顶部