[英]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.