C程序。调用打印字符串的函数

时间:2014-12-05 04:30:55

标签: c function main

有没有办法创建一个存储字符串的函数,然后在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;
        }

2 个答案:

答案 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;
     }