大家好,这是我的第一个问题,希望能得到一些帮助。 尽管计算正确,但基本上输出是错误的!! 每当我将超过 7 个变量添加到“总计”时,输出就会损坏 输出的 7 个及更少的变量给出了正确答案??!! 这是我的代码我需要你的帮助 Guyz
#include <stdio.h>
void main()
{
float total = 0, necklace, scarf, cotton, Lace, Hijab, h, m, l, z;
int ch, q;
printf("\nFashion : \n1.Fashion Necklace <Price=RM29>\n2.Scarf <Price=RM25>\n3.Cotton T-shirts <Price=RM35>\n4.Lace Blazer <price=RM33>\n5.Set of 2 Hijab <price=RM35>\n6.Fleece-Lined Hoodie <price=RM49>");
printf("\nEnter Your Choice : ");
scanf("%d", &ch);
if (ch < 10)
{
printf("\nEnter Quantity : ");
scanf("%d", &q);
if (ch == 1)
{
necklace = 29 * q;
}
else if(ch == 2)
{
scarf = q * 25;
}
else if(ch == 3)
{
cotton = 35 * q;
}
else if(ch == 4)
{
Lace = 33 * q;
}
else if(ch == 5)
{
Hijab = 35 * q;
}
else if(ch == 6)
{
h = 49 * q;
}
else if(ch == 7)
{
m = 20 * q;
}
else if(ch == 8)
{
l = 40 * q;
}
else if(ch == 9)
{
z = 15 * q;
}
}
else
{
printf("\nInvalid Choice!!!");
}
total = (scarf + necklace + cotton + Lace + Hijab + h + m + l + z);
printf("\nTotal = RM%.2f", total);
}
最佳答案
问题是您没有初始化所有这些变量,这意味着它们的值将不确定并且您将有未定义的行为。
如果您将所有这些变量初始化为零,它应该可以工作。
你得到错误值的原因是因为上面的原因,并且你在程序中只设置了一个变量,将它添加到所有未初始化的变量中。所以在实践中发生的事情是您将许多看似随机的值添加到单个计算值并将其打印为输出。
关于c - 我的输出答案有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312766/