为了账号安全,请及时绑定邮箱和手机立即绑定

求解:这个代码怎么实现输入数字后就提示输入正确,结束循环?

求解:这个代码怎么实现输入数字后就提示输入正确,结束循环?

C
慕瓜2161724 2017-07-29 14:00:40
#include "stdio.h"void main(){ int i=0; char n=0; while(n!=99999) { if((scanf("%d",&n)==0)) { scanf("%d",&n); scanf("%s",&n); printf("输入错误!请重新输入\n"); continue; } else printf("您输入的是:%d\n",n); } } 
查看完整描述

3 回答

?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

#include <stdio.h>
#include <sys/types.h>
#include <regex.h> //这个库你要自己去找,别人写好的

int main(int argc,char** argv)
{
    int status ,i;
    int cflags = REG_EXTENDED;
    regmatch_t pmatch[1];
    const size_t nmatch = 1;
    regex_t reg;
    const char * pattern = "^\\d+$";
    char * buf ;
    scanf(buf);
    regcomp(&reg,pattern,cflags);//编译正则模式
    status = regexec(&reg,buf,nmatch,0);//执行正则表达式和缓存的比较
    if(status == REG_NOMATCH)
        printf("No match\n");
    else if (0 == status)
    {
        printf("比较成功:");
        for(i = pmatch[0].rm_so;i<pmatch[0].rm_eo;++i)putchar(buf[i]);
        printf("\n");
    }
    regfree(&reg);
    return 0;
}


查看完整回答
1 反对 回复 2017-07-29
?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

sorry,char类型好像不支持99999你要用int才行

查看完整回答
反对 回复 2017-07-29
  • 慕瓜2161724
    慕瓜2161724
    请问能不能帮我改一下,让程序输入字符或字符串的时候提示“输入错误,请重新输入,”然后如果输入数字就输入成功,接着就退出循环,结束程序。这个代码要怎么改?个程序,让它
  • 按照自己的节奏前行
    按照自己的节奏前行
    好的!
  • 慕瓜2161724
    慕瓜2161724
    万分感谢!!!
点击展开后面1
?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

你输入99999不就结束了

查看完整回答
反对 回复 2017-07-29
  • 慕瓜2161724
    慕瓜2161724
    不是,我的意思是想让程序输入字符或字符串的时候提示“输入错误,请重新输入,”然后如果输入数字就输入成功,接着就退出循环,结束程序。这个代码要怎么改?
  • 按照自己的节奏前行
    按照自己的节奏前行
    那你要用正则表达式来判断是字符还是数字才行
  • 按照自己的节奏前行
    按照自己的节奏前行
    正则表达式判断是数字还是字符
点击展开后面1
  • 3 回答
  • 0 关注
  • 2049 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信