可以通过给字符数组赋值来解决。就是变量b需要定义为字符数组。
例如:
//运行结果:
C语言中不存在你图片中写的这种语法,既然学C语言,就应该按照C语言要求的格式来进行书写,不能自己强行发明创造。
你所希望赋值的其实并不是中文,而是表示成中文的“星座”。星座只有十二个,而中文字有成千上万个,所以正确的做法应该是用 enum。但是enum之能使用英文标识符,所以你接下来可以选择拼音,或者英文,或者两者皆有的方式。
enum {一个汉字占用的内存至少为2字节,因此对多字节字符集和宽字符集来说,表示汉字的方式也略有不同:
多字节字符集的基本数据类型是char,占1字节,因此char无法表示一个汉字,只能用字符串来表示:
char a = '你'; //错误,一个汉字至少占2字节宽字符集的基本数据类型是wchar_t,通常占2字节,采用Unicode编码,可以表示汉字:
此外,采用多字节字符集表示汉字时,还需要注意源代码文件本身的编码是否和系统默认的字符集一致,否则可能导致乱码。例如在Windows下,源代码文件应该用GB-2312字符集编码。如果用UTF-8编码,就可能导致编译或运行时的乱码问题。
就是像图片里那种要怎么做,求教
追答请分清楚字符串和标识符的区别。字符串可以包含任何字符,而标识符的名称必须遵循C语言语法规定。标识符不可以使用中文。
追问那应该怎么改呢Σ(ŎдŎ|||)ノノ
追答我觉得你对C语言的一些基本概念,例如什么是字符、什么是字符串、什么是标识符完全没有理解。在试图修改这个程序之前,我建议你拿起C语言教材,好好阅读完基础部分。如果你理解了什么是字符,什么是字符串,那么你自然就会写出正确的程序。因为我之前已经说过,字符串中可以包含任何内容,包括英文、汉字、特殊符号等,只要它们在当前的字符集内是合法的。
本回答被提问者采纳你所希望赋值的其实并不是中文,而是表示成中文的“星座”。星座只有十二个,而中文字有成千上万个,所以正确的做法应该是用 enum。但是enum之能使用英文标识符,所以你接下来可以选择拼音,或者英文,或者两者皆有的方式。
enum {一个汉字占用的内存至少为2字节,因此对多字节字符集和宽字符集来说,表示汉字的方式也略有不同:
多字节字符集的基本数据类型是char,占1字节,因此char无法表示一个汉字,只能用字符串来表示:
char a = '你'; //错误,一个汉字至少占2字节宽字符集的基本数据类型是wchar_t,通常占2字节,采用Unicode编码,可以表示汉字:
此外,采用多字节字符集表示汉字时,还需要注意源代码文件本身的编码是否和系统默认的字符集一致,否则可能导致乱码。例如在Windows下,源代码文件应该用GB-2312字符集编码。如果用UTF-8编码,就可能导致编译或运行时的乱码问题。
就是像图片里那种要怎么做,求教
追答请分清楚字符串和标识符的区别。字符串可以包含任何字符,而标识符的名称必须遵循C语言语法规定。标识符不可以使用中文。
追问那应该怎么改呢Σ(ŎдŎ|||)ノノ
追答我觉得你对C语言的一些基本概念,例如什么是字符、什么是字符串、什么是标识符完全没有理解。在试图修改这个程序之前,我建议你拿起C语言教材,好好阅读完基础部分。如果你理解了什么是字符,什么是字符串,那么你自然就会写出正确的程序。因为我之前已经说过,字符串中可以包含任何内容,包括英文、汉字、特殊符号等,只要它们在当前的字符集内是合法的。
本回答被提问者采纳