Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何输入字符并将其作为数字读取?_C - Fatal编程技术网

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

我是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 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';