所以我的任务是创建一个接受10个字符的数组 . 如果用户输入的字符大于10,则会发出错误 . 如果输入的10个字符包含一个字母,则会显示另一个错误 . 因此,阵列只能有10个数字,没有别的,如果输入的数字小于或大于10,则显示错误以及数组中是否有字母 .
我的代码接受数字和字母,因为我无法弄清楚输入字母时如何显示错误 .
void getTenDigitPhone(char telNum[])
{
int i;
int z = 1;
do
{
scanf("%s", telNum);
if (strlen(telNum) != 10)
{
printf("Enter a 10-digit phone number: ");
z = 1;
}
else if (strlen(telNum) == 10)
{
return telNum;
}
} while (z == 1);
}
3 回答
您只需检查
telNum
是否仅包含数字:我不打算为你做功课,但这应该给你这个想法 .
您可以使用函数
isdigit(x)
.如果
x
是数字,则返回true(非零),否则返回false(零) .你必须逐位检查 .
我将给出答案,因为您已将当前代码作为您的努力发布 . 作为其他答案,您应该使用
isdigit(x)
函数 .