来自' char'的转换无效到#char;'

时间:2017-04-22 17:55:02

标签: c++ char

我正在制作一个程序,将单数名词转换为复数名词。我对编码非常陌生,而且我一直在我的代码的第44行上收到错误,我在' char'中进行了无效的转换。 to' char *"。另外,在第41行,我收到来自' char'的无效转换。 to' const char *"。我不完全确定这意味着什么或如何解决它?我使用NetBeans和C ++,代码如下:

    #include <stdio.h>
    #include <string.h>



    #define max_word 20



    void pluralize (char word[]);


    int main (void)
    { 
      char noun[max_word];   /* stores temporary word entered by user */

      printf("Enter a noun in singular form: ");
      scanf("%s", noun);

      while (strcmp(noun, "done") != 0)
     {
        pluralize (noun);
        printf("The plural form is %s\n", noun);
     }
    }

    void pluralize (char word[])
    {
      int length;
      char noun;
      length=1;
      length = strlen(word);

    for (;;) 
    {
        printf("Enter a noun in singular form: ");
        scanf("%s", noun);

        if ((strcmp( noun, "done") == 0))
            break;

        pluralize (noun);
        printf("The plural form is %s\n", noun);
    }
      return;
    }

1 个答案:

答案 0 :(得分:0)

在复数函数中,名词是一个字符,它表示一个字符。你想要一个像你主要的char数组:

char noun[max_word];

编译时没有错误。