Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 仅验证字符串数字_C - Fatal编程技术网

C 仅验证字符串数字

C 仅验证字符串数字,c,C,在我的这部分代码中,指针和整数之间的比较出现了一个错误 #include<stdio.h> int validateString(char *inStr); int main() { char *stringInput=""; printf("Please enter a 10 digit phone number: "); scanf("%s",&stringInput); if (validateString(stringInput)==

在我的这部分代码中,指针和整数之间的比较出现了一个错误

#include<stdio.h>

int validateString(char *inStr);
int main()
{
    char *stringInput="";
    printf("Please enter a 10 digit phone number: ");
    scanf("%s",&stringInput);
    if (validateString(stringInput)== 1)
    {
        printf("%s is a valid phone number.",stringInput);
    }
    elseif (validateString(stringInput)== 0)
    {
        printf("%s is a valid phone number.",stringInput);
    }
}

int validateString(char *inStr)
{
    int i;
    int length= strlen(inStr);
    for (i=0;i<length;i++)
    {
        if(!(inStr[i]>= '0' && inStr <= '9' || inStr[i]== ' '))
        {
            return 0;
        }
        elseif(length>=12)
        {
            return 0;
        }
    }
    return 1;
}
#包括
int validateString(字符*inStr);
int main()
{
char*stringInput=“”;
printf(“请输入一个10位数的电话号码:”);
scanf(“%s”、&stringInput);
如果(validateString(stringInput)==1)
{
printf(“%s是一个有效的电话号码。”,stringInput);
}
elseif(validateString(stringInput)==0)
{
printf(“%s是一个有效的电话号码。”,stringInput);
}
}
int validateString(字符*inStr)
{
int i;
整数长度=strlen(inStr);
对于(i=0;i='0'&&inStr=12)
{
返回0;
}
}
返回1;
}

关于指针在函数中的传递,我应该改变什么?

您需要一些速度来放置字符串

i、 e

应该是

char stringInput[20];
然后

甚至没有达到
elseif
不会编译更改的程度(请参阅联机注释以解释更改…)

char stringInput[20];
scanf("%s",stringInput);
        char *stringInput="";//creates no space for user input
        printf("Please enter a 10 digit phone number: ");
        scanf("%s",&stringInput); //`stringInput` already pointer (`char *`), does not require `&`. 
        char stringInput[20];//for additional space in case user enters more than 10
        printf("Please enter a 10 digit phone number: ");
        scanf("%s",stringInput);//do not use `&` for string