它的字符常量太长了

时间:2015-08-28 06:42:53

标签: c xcode macos yosemite

我想尝试制作基于文本的游戏,但是对于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';

1 个答案:

答案 0 :(得分:2)

您正在为char类型分配多字节字符常量,这是警告(具有实现定义的行为)。

您可以使用指针数组来定义它们:

char *items[] = {"lamp","axe","nothing","nothing","nothing","nothing"};

并使用,例如:

printf("%s", items[1]); //would print "axe"

同样,为了进行比较,您可以使用strcmp()(不是==)。