【发布时间】:2019-04-26 14:26:12
【问题描述】:
所以我设法将字符串转换为 int。但是,在代码 #1 中,当我尝试将其分配给数组中的第一个插槽并打印出来时,它会打印“
atoi(menuAttributes[c].c_str()) = 20;
quantity[d] = 3;
string price[14];
#1
price[0] = atoi(menuAttributes[c].c_str()) * quantity[d];
cout << price[0] << endl;
#2
cout << atoi(menuAttributes[c].c_str()) * quantity[d] << endl;
差不多,我希望 price[0] 等于 int 60,而不是 char '
编辑:已解决,感谢大家的帮助。菜鸟在这里,道歉!
【问题讨论】:
-
语句后缺少半可乐 (
;)? -
道歉我是新手,但是我知道,谢谢!但这不是导致问题的原因。有任何想法吗?谢谢
-
atoi(menuAttributes[c].c_str()) = 20; -
price[0]是std::string。atoi(menuAttributes[c].c_str()) * quantity[d]不是 字符串。编译器不会抱怨那个赋值吗? -
您正在为不正确的字符串分配一个数字。价格数组必须是数值类型数组(int、float、...)才能具有值。