int main(void)
{
char co;
printf("Enter item code: ");
scanf("%s", co);
if(co == "ST200")
{
a1 += price * no * 0.90;
}
}
警告:指针和整数之间的比较 if(co ==“ST200”&& card =='Y')
我在接受比赛后收到这样的信息。
答案 0 :(得分:3)
您将co
作为字符,但%s
是字符串。
此外:
if(co == "ST200")
由于"ST200"
是指向常量的指针而co
未指向常量,因此这两者永远不会相等。那么比较的重点是什么呢?
坦率地说,在尝试编写使用它们的代码之前,您需要学习如何在C中处理字符串。
答案 1 :(得分:0)
编写此程序的正确方法是。
#include <stdio.h>
#include <string.h>
int main(void)
{
char co[10];
printf("Enter item code: ");
scanf("%s", co);
if(!strcmp("ST200",co))
{
a1 += price * no * 0.90;
}
}
co
需要是一个存储字符串的数组。为了进行比较,您需要使用strcmp(const char *Str1,const char *Str2)
,当两个字符串匹配时,结果为零。所以之前使用not运算符。
另请参阅任何基础C书。希望这有帮助:)