簡體   English   中英

C程序。 調用打印字符串的函數

[英]C program. Call a function that prints a string

有沒有辦法制作一個存儲字符串的函數,然后在 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;
        }

您發布的代碼遠比您要完成的簡單任務復雜得多。

為什么不是這樣的:

#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);
}

這與您的要求略有沖突,因為該函數不存儲字符串,它只是打印出作為參數傳遞給它的字符串。 但是根據您發布的代碼,這看起來像是您要完成的工作。

正如您所提到的,如果您不喜歡使用指針,可以按如下所示完成:

#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;
     }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM