h-b-z-d-j-s-m 发表于 2022-3-1 20:44:25

c语言中为什么这两个是错误形式

char c={"A","B"};
char d="AB";
这两个为什么是错的啊

c_cpp_python 发表于 2022-3-1 20:46:18

char 就是字符 单引号

c_cpp_python 发表于 2022-3-1 20:47:35

char a = 'A';
char b = "ab";

FallenLight 发表于 2022-3-28 00:47:00

char c={"A","B"}char c={"A","B"}是个一维数组,不能这样初始化,这是二维数组的初始化方式,应该 char c = "AB";
char d ="AB"; char 是字符型,只能定义一个字符(用单引号),"AB" 是一个字符串(双引号),所以不能在 char 类型上定义咯
{:10_256:}

C丁洞杀O 发表于 2022-3-28 07:49:31

char是字符,要用单引号的,而如果想要使用字符串的话可以加上这个头文件#include<String>,然后用String = “Hello world”

zzxhh628 发表于 2022-4-7 19:06:38

双引号只能用于字符串,单引号只能用于字符,char c={"A","B"};是定义了一个字符数组,{}内部的应该是赋值给字符数组每个元素的字符,而不是字符串,不能用双引号。char d="AB";定义的是一个字符变量,只能用于存储字符,所以将字符串"AB"赋值给字符变量是错误的。如果要给字符变量赋值可以char a='a';,如果要给字符数组每个元素按字符赋值可以char a={'A','B','\0'};,直接给字符数组赋值可以char a="AB";,注意字符数组的大小。

想入门的新人 发表于 2022-4-7 20:22:30


char c={"A","B"};
char d="AB";

1--------------{"A","B"};可以用指针数组接 char (*buf) ={"A","B"};或者用二维数组接 char buf[] ={"A","B"};
2--------------"AB" 可以用 字符串指针接 char *buf ="AB" ; 或者用字符数组接 char buf[] ="AB"
页: [1]
查看完整版本: c语言中为什么这两个是错误形式