C:如果还有关于变量的问题
我是编程新手,我是C语言的初学者,我想问一下我的问题,什么时候做if else: 每种水果的代码 苹果公司的A-001售价3美元 A-002适用于4美元的葡萄 B-001鳄梨,2美元 B-002为橙色加1美元 然后输入将被删除 数量,水果代码 输出将是 总计(数量*价格) 但当我这样做的时候:C:如果还有关于变量的问题,c,if-statement,C,If Statement,我是编程新手,我是C语言的初学者,我想问一下我的问题,什么时候做if else: 每种水果的代码 苹果公司的A-001售价3美元 A-002适用于4美元的葡萄 B-001鳄梨,2美元 B-002为橙色加1美元 然后输入将被删除 数量,水果代码 输出将是 总计(数量*价格) 但当我这样做的时候: If(果码=='A-001') 它告诉我字符常量太长。。水果代码应该使用什么?它是整数还是字符还是什么 这是我的代码: q代表数量 h表示价格 K代表水果代码 int main(){ int q,h,k,
If(果码=='A-001')
它告诉我字符常量太长。。水果代码应该使用什么?它是整数还是字符还是什么
这是我的代码:
q代表数量
h表示价格
K代表水果代码
int main(){
int q,h,k,t
printf("============================================\n");
printf("= Program =\n");
printf("============================================\n");
printf(" Fruit Code Fruit Prices \n");
printf(" A-001 Apple Rp. 13.000 \n");
printf(" A-002 Grape Rp. 16.000 \n");
printf(" B-001 Avocado Rp. 10.000 \n");
printf(" B-002 orange Rp. 12.000 \n");
printf("============================================\n");
printf("\n");
printf(" \n");
printf("============================================\n");
printf("= Form =\n");
printf("============================================\n");
printf("Transaction Time: ");
scanf("%s", &t);
printf("Fruit Code : ");
scanf("%s", &k);
if(k=='A-001')
printf("You Choose Apple");
}
else if(k='A-002'){
printf("You Choose Grape");
}
else if(k='B-001'){
printf("You Choose Avocado");
}
else{
printf("You Choose orange");
}
printf("Quantity: ");
scanf("%s", &q);
getch();
return 0;
}
您需要对字符串使用双引号,而不是单引号。单引号仅用于单个字符
您也不能比较那样的字符串。您需要使用类似于strcmp()的东西来比较C中的字符串,请使用strcmp函数。
可能最终成为C样式的字符串;也就是说,它将是一个指针(类型为char*
)指向以null结尾的char
元素数组
然后使用if(!strcmp(fruitcode,“A-001”)
行中的内容来测试是否相等
请注意,我使用了双引号字符来表示字符串文字
(使用单引号字符表示完全不同的内容:如果在单引号字符中包含多个字符,则C将其解释为字符数组文字。这实际上表示的是实现定义的;我认为编译器正在抱怨字符数组的长度过大。)对于sizeof(int)
)您需要使用strcmp
:
if (strcmp (fruitcode, "A=001") == 0)
在C语言中,您无法将子代码
与的“A-001”
进行比较。C的=
运算符只能比较字符,不能比较字符串(只能比较单个字符)
如果要比较它们,请执行以下操作:
strcmp(结果代码,“A-001”);
请注意我的答案中的”
;这意味着一个字符串。在您的问题中,“
意味着一个字符。在”
中不能有多个字符(除了像”\n'
这样看起来像2个字符但由1表示的特殊字符(本例中为换行字符).您可以使用任何您想要的类型,这取决于您需要使用它做什么。请注意,'
用于char
s,而不是字符串,并且字符串不能与=
进行比较。使用“A-001”实际上是“A-001”的一部分。“string”/“char”您是如何使用字符串或什么进行编码的?显示您的代码示例。显示您的代码!此外,不要只在此处转储代码并告诉您已发布。发布MCVE。