【发布时间】:2019-05-08 17:27:44
【问题描述】:
通常,如果line[num]是'>',它必须给num加1才能传递给数组的下一个字符,并且必须输出相应的字符,但它会无限输出符号'>'。为什么?
//part of the code
line[] = {'>', '>', '#'};
circuit = line[num];
while(true)
{
if(circuit == '>')
{
num++; //add 1 to num
cout << circuit;
} else if(circuit == '<')
{
num--; //substract 1 to num
cout << circuit;
} else if(circuit == '#')
{
break;
}
num 也是 0。
【问题讨论】:
-
您缺少部分代码。另外,您是否在调试器中逐步完成此操作以查看自己发生了什么?
-
把
circuit = line[num]放到while循环中 -
circuit = line[num];是一次性作业。它确实不在circuit和line[num]之间建立关系。因此,当您稍后更新line或num时,不会 更改circuit。