2016-01-15 53 views
-1

我试图做一些事情用C很简单,这是为了处理并返回一个char,并让该函数的返回值是另外一个功能“可用”字符。返回一个非空字符串导致编译错误

char name_the_file(char *fileName) { 
    if (fileName == NULL) { 
     fileName = "myFile"; 
    } 
    globalFile = fileName; 
    return fileName; 
} 

FILE *load_File(char *fileName) { 
    fileName = name_the_file(fileName); 
    FILE *filePointer; 
    filePointer = open_file(fileName); 
    return fopen(fileName, "r"); 
} 

我不断收到诊断:warning: assignment makes pointer from integer without a cast [enabled by default],我不明白什么是错的我在做什么。我无法重新定义fileName

+1

的char *需要你有烧焦的函数定义。 –

+1

您正在将传入的指针返回为char。 –

+0

还有'globalFile'未申报...... – joaumg

回答

6

您在返回char *,而不是一个char。你的代码似乎实际需要name_the_file返回一个char *,所以更改原型:

char *name_the_file(char *fileName) 
+0

谢谢!我没有意识到你可以返回一个指针 – unicornication