寻觅者6 发表于 2016-09-11 21:34

帮忙看下,如何修改

小弟最近复习,好多基础忘记了
#include<stdio.h>
#define LEN 10
#define ROW 3

void fun(char ** arr, int n);

int main(void)
{
    char arr = { "look out", "hurry up", "don't worry" };
    fun(arr, ROW);

return 0;
}

void fun(char (*arr), int n)
{
    char*temp;
    int i;

    for(i = 0; i < n; i++)
    {
      temp = arr;
      printf("%s\n", temp);
    }
}

warning C4047: 'function' : 'char ** ' differs in levels of indirection from 'char '
warning C4024: 'fun' : different types for formal and actual parameter 1
warning C4028: formal parameter 1 different from declaratio小弟这段时间复习,因为好长时间没看,好多基础都忘记了。

bruceteen 发表于 2016-09-12 08:09

函数声明和定义不一致

#include <stdio.h>

void fun( const char (*arr), size_t n );

int main(void)
{
    char arr[] = { "look out", "hurry up", "don't worry" };
    fun( arr, sizeof(arr)/sizeof(*arr) );

    return 0;
}

void fun( const char (*arr), size_t n )
{
    for( size_t i=0; i!=n; ++i )
      puts( arr );
}
页: [1]
查看完整版本: 帮忙看下,如何修改