分配给'char [100]类型时不兼容的类型

时间:2017-02-16 13:13:39

标签: c

脚本:

#include <stdio.h>
#include <stdlib.h>

char inn[100];

int main()
{

    inn='EEE';

    if(strcmp(inn,"EEE") == 0){
    printf("ok");
    }

}

编译错误:

gcc test.c -o test

test.c: In function ‘main’:
test.c:9:9: warning: multi-character character constant [-Wmultichar]
     inn='EEE';
         ^
test.c:9:8: error: incompatible types when assigning to type ‘char[100]’ from type ‘int’
     inn='EEE';

解决方案是什么?

我应该更改我的最高声明,还是应该在其他地方做些不同的事情?

1 个答案:

答案 0 :(得分:2)

单引号在C中对于字符串无效。它们只能用于单个字符。

设置&#34; EEE&#34;字符串到inn变量,使用strcpy函数:

strcpy(inn, "EEE");

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

char inn[100];
int main() {
    //In C, you have to manually copy string
    strcpy(inn, "EEE"); 
    if (strcmp(inn,"EEE") == 0){
        printf("ok");
    }
}

请记住也包括string.h库。