C 获取特定的字符数

C 获取特定的字符数,c,C,我只想在我的程序中获得2个字符。我试过fgets,但我能让它工作。你建议我如何实施这一点?或者有其他选择吗 char code[2]; printf("Enter code: \n"); scanf("%s", code);` 我想将可以输入的字符数限制为两个 试试这个代码 #include<stdio.h> #include<conio.h> void main() { char code; clrscr(); printf("enter the code\n");

我只想在我的程序中获得2个字符。我试过fgets,但我能让它工作。你建议我如何实施这一点?或者有其他选择吗

char code[2];
printf("Enter code: \n");
scanf("%s", code);`
我想将可以输入的字符数限制为两个

试试这个代码

#include<stdio.h>
#include<conio.h>
void main()
{
char code;
clrscr();
printf("enter the code\n");
scanf("%2s",code);
printf("%s",code);
getch();
}
#包括
#包括
void main()
{
字符码;
clrsc();
printf(“输入代码”);
扫描频率(“%2s”,代码);
printf(“%s”,代码);
getch();
}

要读取两个字符并忽略空白,可以执行以下操作:

#include <stdio.h>
int main() {
   char code[2];
   printf("Enter code:\n");
   if (scanf(" %c %c", &code[0], &code[1]) == 2) {
      printf("successfully read '%c' and '%c'\n", code[0], code[1]);
   }
   return 0;
}
#包括
int main(){
字符码[2];
printf(“输入代码:\n”);
if(scanf(“%c%c”、&code[0]、&code[1])==2){
printf(“已成功读取'%c'和'%c'\n',代码[0],代码[1]);
}
返回0;
}

要不忽略空白,请使用
%c”
作为格式。

fgetc(fp)
(两次)或
fscanf(fp),%c%c,&c1和&c2)
是两个选项。是否从
stdin
读取?您可以将字符
fgets
读取数限制为2。您可以对
getline
执行相同的操作。另一个选择是
scanf
,格式字符串中有2个字符(注意3,不是2)您可以使用
scanf(“%2s”,代码),但有一些警告:初始空格将被跳过,如果有一个字符,然后是空格,那么字符串中只会有一个字符。如果只需要两个字符,那么:
code[0]=getchar();代码[1]=getchar()
几乎可以(除了它会错误处理早期EOF)。是否要忽略空白?
scanf(“%c%c”、&code[0]、&code[1])-最直接的方式是通过
scanf
1
char code
只能存储一个字节的数据,这在您的情况下是错误的。2. <代码>printf(“%s”,代码)将始终打印(空)。