有没有办法创建一个存储字符串的函数,然后在int main()中调用该函数,在屏幕上显示它?我一直在寻找,并没有找到一个明确的例子。这是我的代码。我希望能够在不使用if语句的情况下调用它
#include <stdio.h>
/* function declaration */
int StrPrint(char *str);
/* main() function */
int main()
{
char str[] = "The string i am returning n";
int (*ptr)(char *str);
ptr = StrPrint;
if (!(*ptr)(str))
printf("Done!\n");
return 0;
}
/* function definition */
int StrPrint(char *str)
{
printf("%s\n", str);
return 0;
}
答案 0 :(得分:1)
您发布的代码远比您尝试完成的简单任务复杂得多。
为什么不这样:
#include <stdio.h>
void StrPrint(char* str);
int main(void)
{
char str[] = "The string i am returning n";
StrPrint(str);
return 0;
}
void StrPrint(char* str)
{
printf("%s\n", str);
}
这与您的要求略有冲突,因为该函数不存储字符串,它只打印出作为参数传递给它的字符串。但根据您发布的代码,这看起来就像您要完成的任务。
答案 1 :(得分:0)
正如你所提到的,如果你不想使用指针,可以按如下所示完成:
#include <stdio.h>
int StrPrint(char s[])
{
printf("%s\n", s);
return 0;
}
int main()
{
char str[] = "The string i am returning n";
if (!StrPrint(str))
printf("Done!\n");
return 0;
}