编译[警告]多字符字符常量时出错[-Wmultichar]

时间:2015-06-07 06:07:20

标签: c

我试图编译以下程序,但我面临两个错误:

  1. 多字符字符常量[-Wmultichar]
  2. 隐式常量转换溢出[-Woverflow]
  3. #include <stdio.h>
    #include <conio.h>
    
    int main()
    {
        int age;
        float weight;
        char gender;
    
        age = 23;
        weight = 60.5;
        gender = 'M ';
    
        printf("Persons Profile \n\n\n Age: %i,\n\nweight: %f,\n\nGender: %c",age,weight,gender);
    
        getch();    
        return 0;
    }
    

1 个答案:

答案 0 :(得分:2)

gender变量属于type char
C中的char表示字符类型,适用于存储简单字符 - 传统上来自ASCII编码的字符。最近,UTF-8编码字符很常见。 char类型也可以存储小整数,并且在技术上是整数类型。

在您的代码gender变量中包含两个字符M(空格)。如果您删除space,则会删除您提到的两个错误。

更改gender = 'M ';
gender = 'M';

有关进一步的C援助http://en.wikibooks.org/wiki/C_Programming