我想尝试制作基于文本的游戏,但是对于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';
答案 0 :(得分:2)
您正在为char类型分配多字节字符常量,这是警告(具有实现定义的行为)。
您可以使用指针数组来定义它们:
char *items[] = {"lamp","axe","nothing","nothing","nothing","nothing"};
并使用,例如:
printf("%s", items[1]); //would print "axe"
同样,为了进行比较,您可以使用strcmp()
(不是==
)。