【发布时间】:2013-04-05 00:49:52
【问题描述】:
我在试图找出运行时错误时迷失了方向。我有一个结构数据类型,并在数组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
知道为什么我不能简单地比较一个字符是否等同于另一个字符吗?
【问题讨论】:
-
“总线错误”,我相信这意味着您正在尝试使用未正确对齐的内存地址。你可能会超过一些限制。
-
哇!它与while循环中的代码无关。 +5