C 如何输入字符并将其作为数字读取?
我是C初学者; 我正在制作一个关于“战舰/海战”游戏的简单程序: 正如您在屏幕截图中所看到的,程序将要求用户为行输入一个数字,对列也是如此; 我想让用户输入一个字符并将其与正确的列相关联。我怎样才能继续 代码: [……] [……] 问题是:C 如何输入字符并将其作为数字读取?,c,C,我是C初学者; 我正在制作一个关于“战舰/海战”游戏的简单程序: 正如您在屏幕截图中所看到的,程序将要求用户为行输入一个数字,对列也是如此; 我想让用户输入一个字符并将其与正确的列相关联。我怎样才能继续 代码: [……] [……] 问题是: printf("Insert row number (0-9):\n"); scanf("%d",&row); printf("Inserisci column number (A-L):\nA=0 B=1 C=2 D=3 E=4 F=5 G=6
printf("Insert row number (0-9):\n");
scanf("%d",&row);
printf("Inserisci column number (A-L):\nA=0 B=1 C=2 D=3 E=4 F=5 G=6 H=7 I=8 L=9\n");
scanf("%d",&column);
抱歉花了几分钟翻译它最好使用
fgets()
读取整行输入,然后使用sscanf()
从中提取。对于列,可以使用%c
格式提取字母。然后从中减去'A'
,将其转换为一个数字
char line[10];
printf("Insert row number (0-9):\n");
fgets(stdin, line, sizeof line);
sscanf(line, "%d", &row);
printf("Inserisci column letter (A-L):\n");
fgets(stdin, line, sizeof line);
char column_letter;
sscanf(line, "%c", &column_letter);
column = column_letter - 'A';
请至少显示我们在截图中看到的代码。读一个字母,然后从中减去
'a'
。读一个字符串。检查是否有两个字符,一个是字母,一个是数字,两者都在范围内。@Yunnosch代码已上载,很抱歉没有被删除clear@barmar你能给我举个例子吗?谢谢
char line[10];
printf("Insert row number (0-9):\n");
fgets(stdin, line, sizeof line);
sscanf(line, "%d", &row);
printf("Inserisci column letter (A-L):\n");
fgets(stdin, line, sizeof line);
char column_letter;
sscanf(line, "%c", &column_letter);
column = column_letter - 'A';