我有问题。
int main ()
{
char name[100];
do
{
printf("Input name : ");
scanf("%[^\n]", name);
fflush(stdin);
}while() // I don't know what to put here
}
如果我的输入不是全部字母,问题是如何循环“输入名称”。例如,如果我输入“steve1”,那么它将再次询问名称;如果我输入“史蒂夫”,那么它将不会循环。
答案 0 :(得分:1)
编写一个单独的函数并在循环条件中使用它。例如
#include <ctype.h>
//...
int valid_name( const char *name )
{
while ( *name && isalpha( ( unsigned char )*name ) ) ++name;
return *name == '\0';
}
//...
do
{
//...
} while ( !valid_name( name ) );