我迷路了,试图找出运行时错误。我有一个结构数据类型,并在数组items[]
中实现它。在结构中,定义了一个char name
。 我还在读取使用cin的用户输入到char
数据类型。比较字符会导致总线错误
i=0;
do {
printf("%c\n", items[i].name);
printf("%c\n", itemname);
//if (items[i].name == itemname)
//found=true;
i++;
} while (i<numofitems || found);
如果我去掉if语句,该printf("%c\n", itemname);
似乎运行数千次,然后Bus error: 10
。注意numofitems是目前刚刚5
从它目前正在编写方式输出:
A
C
B
C
C
C
D
C
E
C
任何想法,为什么我不能简单地比较,如果一个字符相当于另一个?
“总线错误”,我相信意味着你正在尝试使用未正确对齐的内存地址。你可能会超过一些限制。 – 2013-04-05 00:57:52
doh!它与while循环中的代码无关。 +5 – 2013-04-05 00:58:40