繁体   English   中英

使用单独的函数检查它是否为整数输入C语言

[英]Using a separate function to check if it's an integer input C Language

#include <stdio.h>
#include <string.h>
#include <math.h>

    void check(char *s){
        char str[24] = s;
        int i;
        fgets(str, sizeof(str), stdin);
        boolean valid = TRUE;
        for (i = 0; i < strlen(str); ++i){
            if (!isdigit(str[i])){
            printf("NOT a valid Integer");
            valid = FALSE;

            break;
            }
        }
        printf("An integer!");
    }

    int main()
    {
        int userInput;
        char str;

        scanf("%d%c", &userInput, &str);
        check(str);
        .
        .
        .


        return 0;
    }

我的代码中不断出现错误,我试图找到一种方法来使用单独的检查功能来检查用户是否输入了有效的整数,即:诸如1,345、7899等数字是正确的; 在输入'a23','@ 3','12','24 .4',...时将终止程序。 任何想法都会有所帮助,谢谢。 C语言。

像这样在主函数中更改代码

char str[24];
scanf("%d%s", &userInput, str);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM