脚本:
#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';
解决方案是什么?
我应该更改我的最高声明,还是应该在其他地方做些不同的事情?
答案 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
库。