0
我目前正在研究一些代码,我知道它有什么问题。我的代码提示用户输入一个名称,并使用fgets() or sscanf()
将其作为字符串存储。如果用户输入错误的东西(即数字或字母数字的情况),它应该打印错误消息并再次要求输入,直到用户输入权限。此外,我已经初始化:我如何解决这个while循环嵌套在if-else中?
char name [47];
printf ("Name: ");
//some code dealing with newline character with the use of fgets
if ((sscanf (name, %s, name)) == 1)
//some code dealing with this condition
else {
do {
printf ("ERROR: Invalid name. Name should consist of letters only.\n");
printf ("Name: ");
if (fgets (name, sizeof (name), stdin) == '\0')
//some code dealing with EOF
} while ((sscanf (name, %s, name)) != 1);
}
谁能告诉我有什么不对?
你正在''s''周围缺少名字。 – Barmar