C程序中的语法错误

问题描述:

#include <stdio.h> 

int main() { 
    char *s; 
    s=call(); 
    printf(s); 
} 

char* call() { 
    return("hello"); 
} 

为什么这些代码无法正常工作。它产生了一个错误。我如何使它工作?C程序中的语法错误

+0

原型你得到什么错误?一个编译器错误?一个运行时错误?什么信息? –

+0

所有这些冲突的类型都是我看到的错误信息,为什么问题是-1?问题是错误的吗? – niko

+0

对不起,请为原因辩解有时,即使我们知道我们在做什么,我们也没有得到答案。但是,我的问题解决了,谢谢大家。 – niko

两件事情:

  • 你不能把空格尖括号内包括系统头(如#include <stdio.h>
  • 您需要为call()
+0

你的权利饶恕抱歉小错误,我做了谢谢。 – niko

+0

在没有原型的情况下(在C89中),编译器假定函数返回'int' ...并且在将'int'赋给's',char *'的时候会报错。 – pmg