我试图从一个函数返回一个C字符串,但它不起作用。这是我的代码。
char myFunction()
{
return "My String";
}在main中,我是这样命名的:
int main()
{
printf("%s", myFunction());
}我还尝试了myFunction的一些其他方法,但它们都不起作用。例如:
char myFunction()
{
char array[] = "my string";
return array;
}注意:我不允许使用指针!
关于这个问题的一些背景:
有一个函数可以找出是哪个月。例如,如果是1,则返回一月,依此类推。
所以当它要打印的时候,它是这样做的:printf("Month: %s",calculateMonth(month));。现在的问题是如何从calculateMonth函数返回该字符串。
发布于 2011-05-10 03:43:00
在您的代码中,您试图返回一个String (在C中,它只是一个以空结尾的字符数组),但是您的函数的返回类型是char,这给您带来了所有的麻烦。相反,你应该这样写它:
const char* myFunction()
{
return "My String";
}用const限定你的类型总是很好的,同时把C中的文字赋值给指针,因为C中的文字是不可修改的。
https://stackoverflow.com/questions/1496313
复制相似问题