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