我想输入多个 printfs,但我没有机会输入。 我只能输入 1,但之后它就结束了程序。我尝试使用 do while 但它不起作用
int main()
{
int number;
char username[30]="";
char fullName[30]="";
char password[30]="";
printf("Do you want to log in(1) or register (2)? \n");
scanf("%d",&number);
if (number==2)
{
printf("username : ");
scanf("%s",&username);
printf("Full name : ");
scanf("%s",&fullName);
printf("Password : ");
scanf("%s",&password);
printf("Repeat password : ");
scanf("%s",&password);
}
return 0;
}
最佳答案
使用fgets()
将整行读取到适当大的缓冲区中,然后解析它。
请注意,%s
将停在第一个空白字符处,因此“Mr X”的全名将在输入缓冲区中留下“X”,从而获取密码等。这确实不是一种可靠的获取输入的方式。
关于c - 如何在c中输入和扫描多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47816312/