一悻 发表于 2013-9-21 10:11:41

c语言判断越界

要求输入一串字符数字,其中字符串数为8进制数,要将其转换为10进制数输出!   其中如何对字符串中的字符数字做保护使其在>=8时候提示“输入有误!”!       8进制在0~7嘛。

牡丹花下死做鬼 发表于 2013-9-21 11:09:16

用getchar()逐一读取 然后判断ASCII 呗

565123 发表于 2013-9-21 11:12:38

本帖最后由 565123 于 2013-9-21 11:17 编辑

int isValid(char *str)
{
        if (*str == 0) //如果是空字符串,返回假
                return 0;
        for (; *str != 0; str++)
                if (*str > '7' || *str < '0') //当有0~7以外的字符,返回假
                        return 0;
        return 1;
}


血色熊猫 发表于 2013-9-21 19:50:02

判断ASCII码就行
比如:
char c;
scanf("%c",c);
if(c-48>=8)
printf("输入有误|");

玉宁417 发表于 2013-9-26 09:04:45


学习,支持一下!加油:lol:

trek600 发表于 2013-10-1 12:02:11

可以用getchar()方法,然后用if进行判断
页: [1]
查看完整版本: c语言判断越界