簡體   English   中英

C中的打印字符串問題

[英]print string problem in C

我有這個結構

typedef struct tree_node_s{
    char word[20];

    struct tree_node_s *leftp,*rightp;

    }fyllo

我想在文件中打印單詞,並且使用fprintf即時通訊,問題出在PROBLINE中

void print_inorder(fyllo *riza,FILE *outp){

     if (riza==NULL) return ;
     print_inorder(riza->leftp,outp);
     fprintf("%s",riza->word);  //PROBLINE
     print_inorder(riza->rightp,outp);
                }

我正在編譯,我遇到了這個問題

tree.c: In function ‘print_inorder’:
tree.c:35: warning: passing argument 1 of ‘fprintf’ from incompatible pointer type

這是什么問題?

您錯誤地調用了fprintf 該函數的聲明是

 int fprintf(FILE *restrict stream, const char *restrict format, ...);

因此,您應該將FILE指針作為第一個參數(您是否注意到從未在函數中實際使用過outp ?)。 該行應寫為

fprintf(outp, "%s", riza->word);

fprintf的第一個參數應該是要打印到的FILE*

fprintf(outp, "%s", riza->word);

嘗試改變

fprintf("%s",riza->word); 

fprintf(outp, "%s", riza->word);

暫無
暫無

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

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