C语言怎么给一个变量赋值中文?

可不可以这样b=汉字... 可不可以这样
b=汉字
展开
 我来答
xuzhouliuying
高粉答主

2019-03-20 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.5亿
展开全部

可以通过给字符数组赋值来解决。就是变量b需要定义为字符数组。

例如:

#include <stdio.h>
int main()
{
char b[]="汉字";
printf("%s",b);
return 0;
}

//运行结果:

C语言中不存在你图片中写的这种语法,既然学C语言,就应该按照C语言要求的格式来进行书写,不能自己强行发明创造。

qzhao_1
2019-03-21 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4363万
展开全部
在 C 语言编程中,关于给某个具体变量赋值中文的问题,根据我的编程经验,你可以这样编程不容易出错,见如下程序代码:
#include <string.h>
#include <stdio.h>
#define MAX 50 /* 定义一个宏 MAX,该宏定义可以根据需要自行进行修改 */
void main( )
{
unsigned char my_hanzi[MAX] ; /* 在这里必须要注意:由于所需要处理的信息是汉字信息,但是汉字信息的 ASCII 码的最高位为 1,故在这里必须要将变量定义成无符号字符型数组:unsigned char my_hanzi[MAX] */

gets(my_hanzi) ; /* 输入一个汉字字符串,但是最大长度不能够超过 MAX 个字符,否则会出错 */

puts(my_hanzi) ; /* 输出刚刚在上面从键盘上输入的汉字字符串 */

strcpy(my_hanzi, "这是一个汉字字符串的应用" ) ; /* 将一个新的汉字字符串复制给变量 my_hanzi */

puts(my_hanzi) ; /* 再输出刚刚复制的新的汉字字符串 */

}
至于说其它的对汉字信息的各种处理,均可以参考该程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
建氏文生
2019-03-20 · 永远在学习的道路上不断前进
建氏文生
采纳数:499 获赞数:1345

向TA提问 私信TA
展开全部

你所希望赋值的其实并不是中文,而是表示成中文的“星座”。星座只有十二个,而中文字有成千上万个,所以正确的做法应该是用 enum。但是enum之能使用英文标识符,所以你接下来可以选择拼音,或者英文,或者两者皆有的方式。

enum {
    // 英文
    Aries = 0, 
    Taurus, 
    Gemini, 
    Cancer, 
    Leo, 
    Virgo, 
    Libra, 
    Scorpio, 
    Sagittarius, 
    Capricorn, 
    Aquarius, 
    Pisces, 
    // 拼音
    Baiyangzuo = 0, 
    Jinniuzuo, 
    Shuangzizuo, 
    Juxiezuo, 
    Shizizuo, 
    Chunvzuo, 
    Tianpingzuo, 
    Tianxiezuo, 
    Renmazuo, 
    Moxiezuo, 
    Shuipingzuo, 
    Shuangyuzuo, 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2019-03-20 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部

一个汉字占用的内存至少为2字节,因此对多字节字符集和宽字符集来说,表示汉字的方式也略有不同:

多字节字符集的基本数据类型是char,占1字节,因此char无法表示一个汉字,只能用字符串来表示:

char a = '你'; //错误,一个汉字至少占2字节
char b[] = "好"; //正确

宽字符集的基本数据类型是wchar_t,通常占2字节,采用Unicode编码,可以表示汉字:

wchar_t a = L'你'; //正确
wchar_t b[] = L"好"; //正确

此外,采用多字节字符集表示汉字时,还需要注意源代码文件本身的编码是否和系统默认的字符集一致,否则可能导致乱码。例如在Windows下,源代码文件应该用GB-2312字符集编码。如果用UTF-8编码,就可能导致编译或运行时的乱码问题。

更多追问追答
追问
就是像图片里那种要怎么做,求教
追答

请分清楚字符串标识符的区别。字符串可以包含任何字符,而标识符的名称必须遵循C语言语法规定。标识符不可以使用中文。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式