读书人

用scanf的一个有关问题

发布时间: 2013-12-13 13:57:17 作者: rapoo

用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);
}

读书人网 >C语言

热点推荐