用scanf的一个有关问题

用scanf的一个问题,char sex[3]while(scanf(%s,sex)!1)fflush(stdin)我想对输入的字符数进行检查,如果

用scanf的一个问题,


    char sex[3]
    while(scanf("%s",sex)!=1)  fflush(stdin);

我想对输入的字符数进行检查,如果超过规定的字符就刷新重输入,但我这样做不行.具体怎么做才好呢.

[解决办法]
1、用scanf("%2s",sex)直接限定;
2、最好是用getch/getchar一个字符一个字符的判断。

引用:

    char sex[3]
    while(scanf("%s",sex)!=1)  fflush(stdin);

我想对输入的字符数进行检查,如果超过规定的字符就刷新重输入,但我这样做不行.具体怎么做才好呢.

[解决办法]
你可以加读一个字符判断,限定是必要的,防止输入太长数组越界操作...
scanf("%2s%c",sex, &c);
while (c != '\n')
{
    fflush(stdin);
    scanf("%2s%c",sex, &c);
}