我想尝试制作一个基于文本的游戏,但对于 item2 - item6 它说,!多字符字符常量。字符常量对其类型来说太长。从“int”到“char”的隐式转换会将值从 175174007 更改为 103。
#include <stdio.h>
int main()
{
int monster,lion;
char action,item1,item2,item3,item4,item5,item6;
action = 0;
monster = 5;
lion = 3;
item1 = 'lamp';
item2 = 'axe';
item3 = 'nothing';
item4 = 'nothing';
item5 = 'nothing';
item6 = 'nothing';
您将多字节字符常量分配给 char 类型,这就是您收到的警告(具有实现定义的行为)。
您可以使用指针数组来定义它们:
char *items[] = {"lamp","axe","nothing","nothing","nothing","nothing"};
并使用,例如:
printf("%s", items[1]); //would print "axe"
类似地,为了进行比较,您可以使用strcmp()
(not ==
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)