我尝试编写的程序有问题。它只是一个 Windows 控制台程序,我对 C++ 很陌生。这只是我的第四个程序。
我遇到的问题是,当我运行我的程序时,我没有错误,但是在我将在下面突出显示的行中有很多警告说“与字符串文字比较会导致未指定的行为”。
当程序运行而不是添加我想要的数字时,无论我输入什么,它都会给我一个随机的巨大数字。
这是代码:
#include <iostream>
using namespace std;
int main()
{
int hold;
int i;
int n;
i = 6;
int result;
int * price;
char items[100][100];
if (items == 0)
cout << "No items can be stored";
else
{
for (n=0; n<i; n++)
{
cout << "Item#" << n << ": ";
cin >> items[n];
}
cout << "\nYou Entered: \n";
for (n=0; n<i; n++)
cout << items[n] << ", ";
}
for (n=0; n<i; n++)
{
if (items[n] == "ab"){
price[n] = 2650;
}
else if (items[n] == "ae"){
price[n] = 1925;
}
else if (items[n] == "ie"){
price[n] = 3850;
}
else if (items[n] == "bt"){
price[n] = 3000;
}
else if (items[n] == "pd"){
price[n] = 2850;
}
else if (items[n] == "ga"){
price[n] = 2600;
}
}
for (n=0; n<i; n++)
{
result = result + price[n];
}
cout << "\nTotal gold for this build: " << result;
cin >> hold;
return 0;
}
任何帮助表示赞赏。我可能做错了什么大事。if 语句中的名称当前都是占位符,当我可以让它与它需要工作的裸 6 一起工作时,我将添加更多的 if 语句。