C 为什么不工作
我是一个初学者,我从下面这个基本程序开始。 我不知道什么时候运行它,它会像预期的那样要求我“输入卡片名称”,但是它不会像“卡片已上升或下降”那样给出答案C 为什么不工作,c,C,我是一个初学者,我从下面这个基本程序开始。 我不知道什么时候运行它,它会像预期的那样要求我“输入卡片名称”,但是它不会像“卡片已上升或下降”那样给出答案 #包括 #包括 int main() { char card_name[3]; 放入(“输入卡片名称:”); scanf(“2s%”,卡片名称); int-val=0; 如果(卡片名称[0]=“K”){ val=10; }else if(卡片名称[0]=“Q”){ val=10; }else if(卡片名称[0]=“J”){ val=10; }
#包括
#包括
int main()
{
char card_name[3];
放入(“输入卡片名称:”);
scanf(“2s%”,卡片名称);
int-val=0;
如果(卡片名称[0]=“K”){
val=10;
}else if(卡片名称[0]=“Q”){
val=10;
}else if(卡片名称[0]=“J”){
val=10;
}else if(卡片名称[0]=“A”){
val=11;
}否则{
val=atoi(卡名);
}
/*检查该值是否为3到6*/
如果((val>2)和(&(val您需要%2s
而不是2s%
用于scanf())
语句。这段代码并不是把放进去的。对于一种格式,2s%
到底应该做什么?很确定你的意思是%2s
。检查scanf
的结果,而不是忽略它,可能会告诉你问题出在哪里。非常感谢……我甚至连复制都很糟糕。B“真是太好了。@Beeran总是责怪你自己-从来没有编译器或标准库。我在这里看到许多有趣的人说:我的程序工作不正常-我发现了编译器错误-然后是很长的程序集列表。
否决-你的答案只是@WhozCraig注释的副本。不要建立你的“声誉”根据某人的知识。羞耻不是复制品,即使很难,我也没有上千的声誉,我可以告诉他出了什么问题。另外,他没有把答案放在答案部分是他的错,因为当有人用谷歌搜索这个问题时,他们找不到经过验证的答案,但评论是严肃的。评论索引和答案一样好。如果我是你,我会删除它。但它是关于荣誉,现在不是很有价值。不,我们不是在战斗(即使看起来很艰难)只是在与不同的观点进行对话:)这里的否决权是不正确的。答案是正确的,WhozCraig选择不把它作为答案。一个实际的答案允许OP将问题标记为已解决,因此每个人都在这里获胜。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char card_name[3];
puts(" Enter the card_name: ");
scanf("2s%", card_name);
int val = 0;
if (card_name[0] == 'K') {
val = 10;
} else if (card_name[0] == 'Q') {
val =10 ;
} else if (card_name[0] == 'J') {
val =10 ;
} else if (card_name[0] == 'A') {
val =11 ;
} else {
val = atoi(card_name);
}
/*Check if the value is 3 to 6 */
if ((val > 2) && (val <7))
puts(" COunt has gone up");
/* Other wise check if the card was , J , Q or K */
else if (val == 10)
puts(" Count has gone down");
return 0;
}