C语言的问题,输入书上的程序,为什么运行结果和书上的不一样?

书上有个关于扑克的游戏,使用VS2013编译运行后,不管输入什么输出结果都是0,但是书上的答案是输入K会显示10,输入A会显示11,输入8会显示8。为什么会不一样?(我把... 书上有个关于扑克的游戏,使用VS2013编译运行后,不管输入什么输出结果都是0,但是书上的答案是输入K会显示10,输入A会显示11,输入8会显示8。为什么会不一样?(我把书上的scanf改成了scanf_s,否则会出错)
程序如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char card_name[3];
puts("输入牌名: ");
scanf_s("%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); }
printf("这张牌的点数是:%i\n",val); system("pause");
return 0;
}
system("pause");也是我自己加的,否则会一闪而过
展开
 我来答
826010478
2014-12-20 · TA获得超过521个赞
知道小有建树答主
回答量:920
采纳率:53%
帮助的人:287万
展开全部
%i改成d%

scanf_s("%2s", card_name);最好写成scanf("%s", card_name);
追问
不管用,改成scanf会出错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式