Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分配给类型‘时不兼容的类型;char[100]’;_C - Fatal编程技术网

分配给类型‘时不兼容的类型;char[100]’;

分配给类型‘时不兼容的类型;char[100]’;,c,C,脚本: 解决办法是什么 我应该更改顶部声明还是在其他地方做一些不同的事情?单引号在C中对字符串无效。它们只能用于单个字符 要将“EEE”字符串设置为inn变量,请使用strcpy函数: strcpy(inn,“EEE”) #包括 #包括 #包括 查尔酒店[100]; int main(){ //在C语言中,您必须手动复制字符串 斯特尔比酒店; 如果(strcmp(inn,“EEE”)==0){ printf(“ok”); } } 记住也要包括string.h库。单引号在C中对string无效。

脚本:

解决办法是什么


我应该更改顶部声明还是在其他地方做一些不同的事情?

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

要将“EEE”字符串设置为inn变量,请使用strcpy函数:

strcpy(inn,“EEE”)

#包括
#包括
#包括
查尔酒店[100];
int main(){
//在C语言中,您必须手动复制字符串
斯特尔比酒店;
如果(strcmp(inn,“EEE”)==0){
printf(“ok”);
}
}

记住也要包括
string.h
库。

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

要将“EEE”字符串设置为inn变量,请使用strcpy函数:

strcpy(inn,“EEE”)

#包括
#包括
#包括
查尔酒店[100];
int main(){
//在C语言中,您必须手动复制字符串
斯特尔比酒店;
如果(strcmp(inn,“EEE”)==0){
printf(“ok”);
}
}

记住也要包括
string.h
库。

某个值周围的分隔符
'
和'`'表示该值为字符常量。但字符常量只能由1个字符组成。其余部分将被忽略或标记为警告。1)无法分配数组,2)字符串文字需要使用
,而不是
s。某个值周围的分隔符
和“`”表示该值为字符常量。但字符常量只能由1个字符组成。其余部分将被忽略或标记为警告。1)无法分配数组,2)字符串文字需要使用
,而不是
s….或使用
char inn[100]={“EEE”};
@PaulOgilvie这是在初始化的情况下。可以只是char inn[100]=“EEE”"; 但我想这不是他回答的问题。改为双引号。并放置strcpy(inn,“EEE”);就在inn=“EEE”下面;警告:内置函数“strcpy”[默认启用]strcpy(inn,“EEE”)的不兼容隐式声明;包括“string.h”并将起作用。inn=“EEE”在任何情况下都无效。复制并粘贴全部内容:test.c:在函数“main”中:test.c:7:5:警告:内置函数“strcpy”[默认启用]strcpy(inn,“EEE”);的隐式声明不兼容;。。。或者使用
charinn[100]={“EEE”}@PaulOgilvie这是在初始化的情况下。可以是char inn[100]=“EEE”;但我想这不是他回答的问题。改为双引号。并放置strcpy(inn,“EEE”);就在inn=“EEE”下面;警告:内置函数“strcpy”[默认启用]strcpy(inn,“EEE”)的不兼容隐式声明;包括“string.h”并将起作用。inn=“EEE”在任何情况下都无效。复制并粘贴全部内容:test.c:在函数“main”中:test.c:7:5:警告:内置函数“strcpy”[默认启用]strcpy(inn,“EEE”)的隐式声明不兼容;
#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';
#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");
    }
}