【发布时间】:2017-12-13 12:01:49
【问题描述】:
在我当前的程序中,我让用户输入了一个存储在字符列表中的数字。之后,我浏览列表并尝试将该数字分配给一个 int 变量。那就是我遇到错误的地方。这是我的代码的摘录。
if (list1[j]=='1');
z=1;
if (list1[j]=='2');
z=2;
if (list1[j]=='3');
z=3;
if (list1[j]=='4');
z=4;
问题是即使 list[j]=3,z 也总是变为 4。我知道我在比较时犯了一个错误,但我一直找不到它。非常感谢您的帮助。
这就是我定义列表的方式:
char list1[32];
我就是这样填的:
for(int i=0;i<(2*c);i+=2)
{
cin>>list1[i]>>list1[i+1];
}
【问题讨论】:
-
从 if 语句中删除分号。
-
关闭括号后删除分号:
if (list1[j]=='1') /* no semicolon here */ -
是的,我的错。然而,它现在所做的是它总是认为数字是 1 而不是 4
标签: c++ arrays list if-statement char