书上有个关于扑克的游戏,使用VS2013编译运行后,不管输入什么输出结果都是0,但是书上的答案是输入K会显示10,输入A会显示11,输入8会显示8。为什么会不一样?(我把书上的scanf改成了scanf_s,否则会出错。system("pause");也是我自己加的,否则会一闪而过)
程序如下:
#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;
}
程序如下:
#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;
}