C 如何知道用户输入的字符是否超过1个?如果他输入了不止一个字符,我想把它存储在字符数组中

C 如何知道用户输入的字符是否超过1个?如果他输入了不止一个字符,我想把它存储在字符数组中,c,C,这里num1和num2是整数,dummy是字符。 由于字符只能容纳一个数字或字母,如果用户输入多个字符,我希望将输入存储在字符数组中。使用scanf(“%c”、&num1、&dummy、&num2)将只扫描1个字符,因为格式字符串(即“%…”)表示只需要一个字符(%c) 相反,您应该使用: scanf("%d%c%d",&num1,&dummy,&num2); 这会将两个数字扫描到您的num1、num2,并使用scanf(“%c”、&num1、&dummy、&num2)

这里num1和num2是整数,dummy是字符。 由于字符只能容纳一个数字或字母,如果用户输入多个字符,我希望将输入存储在字符数组中。

使用
scanf(“%c”、&num1、&dummy、&num2)
将只扫描1个字符,因为格式字符串(即“%…”)表示只需要一个
字符(
%c

相反,您应该使用:

scanf("%d%c%d",&num1,&dummy,&num2);
这会将两个数字扫描到您的
num1、num2
,并使用
scanf(“%c”、&num1、&dummy、&num2)将字符串(也可以是单个字符)扫描到
dummy
将只扫描1个字符,因为格式字符串(即“%…”)表示只需要一个
字符(
%c

相反,您应该使用:

scanf("%d%c%d",&num1,&dummy,&num2);

这会将两个数字扫描到
num1、num2
,并将字符串(也可以是单个字符)扫描到
dummy

使用
scanf(“%d%s%d”、&num1、&dummy、&num2)dummy
char[]
@CIsForCookies,为什么不将其作为答案发布?如果要验证输入的格式,
scanf
可能是错误的选择。使用
fread
并解析数据。嗯,如果我是正确的,字符串是用C中的字符数组表示的,所以也许您可以简单地读取输入并放入字符数组变量?但是我想如果我使用%[^\n]而不是%s作为格式说明符,则可能不会出现空白的问题dummy
char[]
@CIsForCookies,为什么不将其作为答案发布?如果要验证输入的格式,
scanf
可能是错误的选择。使用
fread
并解析数据。嗯,如果我是正确的,字符串是用C中的字符数组表示的,所以也许您可以简单地读取输入并放入字符数组变量?但是我想如果我使用%[^\n]而不是%s作为格式说明符,则可能不会出现空白的问题。