在C中只接受字母,不接受整数
我想知道如何确保只输入字符。有什么想法吗在C中只接受字母,不接受整数,c,C,我想知道如何确保只输入字符。有什么想法吗 printf("Enter Customer Name"); scanf("%s",cname); 您可以使用strspn()这样测试字符串: #include <stdio.h> #include <string.h> int main(void){ char str[100] = {0}; int len; scanf ("%99s", str); len = strlen(str);
printf("Enter Customer Name");
scanf("%s",cname);
您可以使用strspn()
这样测试字符串:
#include <stdio.h>
#include <string.h>
int main(void){
char str[100] = {0};
int len;
scanf ("%99s", str);
len = strlen(str);
if (len != strspn(str, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"))
printf ("Your string contains non-alphabet characters.\n");
else
printf ("Your string is good.\n");
return 0;
}
#包括
#包括
内部主(空){
char str[100]={0};
内伦;
scanf(“%99s”,str);
len=strlen(str);
如果(len!=strspn(str,“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”))
printf(“您的字符串包含非字母字符。\n”);
其他的
printf(“您的字符串很好。\n”);
返回0;
}
您可以使用strspn()
这样测试字符串:
#include <stdio.h>
#include <string.h>
int main(void){
char str[100] = {0};
int len;
scanf ("%99s", str);
len = strlen(str);
if (len != strspn(str, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"))
printf ("Your string contains non-alphabet characters.\n");
else
printf ("Your string is good.\n");
return 0;
}
#包括
#包括
内部主(空){
char str[100]={0};
内伦;
scanf(“%99s”,str);
len=strlen(str);
如果(len!=strspn(str,“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”))
printf(“您的字符串包含非字母字符。\n”);
其他的
printf(“您的字符串很好。\n”);
返回0;
}
您可以使用strspn()
这样测试字符串:
#include <stdio.h>
#include <string.h>
int main(void){
char str[100] = {0};
int len;
scanf ("%99s", str);
len = strlen(str);
if (len != strspn(str, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"))
printf ("Your string contains non-alphabet characters.\n");
else
printf ("Your string is good.\n");
return 0;
}
#包括
#包括
内部主(空){
char str[100]={0};
内伦;
scanf(“%99s”,str);
len=strlen(str);
如果(len!=strspn(str,“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”))
printf(“您的字符串包含非字母字符。\n”);
其他的
printf(“您的字符串很好。\n”);
返回0;
}
您可以使用strspn()
这样测试字符串:
#include <stdio.h>
#include <string.h>
int main(void){
char str[100] = {0};
int len;
scanf ("%99s", str);
len = strlen(str);
if (len != strspn(str, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"))
printf ("Your string contains non-alphabet characters.\n");
else
printf ("Your string is good.\n");
return 0;
}
#包括
#包括
内部主(空){
char str[100]={0};
内伦;
scanf(“%99s”,str);
len=strlen(str);
如果(len!=strspn(str,“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”))
printf(“您的字符串包含非字母字符。\n”);
其他的
printf(“您的字符串很好。\n”);
返回0;
}
您可以读入字符串,然后使用isalpha()
或类似函数对其进行扫描
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define STR(x) #x
#define SSTR(x) STR(x)
#define STR_FMT(x) "%" SSTR(x) "s"
#define CNAME_MAX_LEN 50
int inputName(char *cname)
{
size_t i;
do
{
printf("Enter Customer Name: ");
fflush(stdout);
if (1 != scanf(STR_FMT(CNAME_MAX_LEN), cname))
return 1;
for (i = 0; isalpha(cname[i]); ++i);
}
while (i == 0 || cname[i]);
return 0;
}
int main()
{
char cname[CNAME_MAX_LEN + 1];
if (inputName(cname))
{
perror("error reading in name!\n");
return 1;
}
printf("cname is '%s'\n", cname);
return 0;
}
#包括
#包括
#包括
#定义STR(x)#x
#定义SSTR(x)STR(x)
#定义STR_FMT(x)“%”SSTR(x)“s”
#定义CNAME_MAX_LEN 50
int inputName(char*cname)
{
尺寸i;
做
{
printf(“输入客户名称:”);
fflush(stdout);
如果(1!=scanf(STR_FMT(CNAME_MAX_LEN),CNAME))
返回1;
对于(i=0;isalpha(cname[i]);+i);
}
而(i==0 | | cname[i]);
返回0;
}
int main()
{
字符cname[cname_MAX_LEN+1];
if(输入名称(cname))
{
perror(“读取名称时出错!\n”);
返回1;
}
printf(“cname是“%s”\n”,cname);
返回0;
}
您可以读入字符串,然后使用isalpha()
或类似函数对其进行扫描
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define STR(x) #x
#define SSTR(x) STR(x)
#define STR_FMT(x) "%" SSTR(x) "s"
#define CNAME_MAX_LEN 50
int inputName(char *cname)
{
size_t i;
do
{
printf("Enter Customer Name: ");
fflush(stdout);
if (1 != scanf(STR_FMT(CNAME_MAX_LEN), cname))
return 1;
for (i = 0; isalpha(cname[i]); ++i);
}
while (i == 0 || cname[i]);
return 0;
}
int main()
{
char cname[CNAME_MAX_LEN + 1];
if (inputName(cname))
{
perror("error reading in name!\n");
return 1;
}
printf("cname is '%s'\n", cname);
return 0;
}
#包括
#包括
#包括
#定义STR(x)#x
#定义SSTR(x)STR(x)
#定义STR_FMT(x)“%”SSTR(x)“s”
#定义CNAME_MAX_LEN 50
int inputName(char*cname)
{
尺寸i;
做
{
printf(“输入客户名称:”);
fflush(stdout);
如果(1!=scanf(STR_FMT(CNAME_MAX_LEN),CNAME))
返回1;
对于(i=0;isalpha(cname[i]);+i);
}
而(i==0 | | cname[i]);
返回0;
}
int main()
{
字符cname[cname_MAX_LEN+1];
if(输入名称(cname))
{
perror(“读取名称时出错!\n”);
返回1;
}
printf(“cname是“%s”\n”,cname);
返回0;
}
您可以读入字符串,然后使用isalpha()
或类似函数对其进行扫描
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define STR(x) #x
#define SSTR(x) STR(x)
#define STR_FMT(x) "%" SSTR(x) "s"
#define CNAME_MAX_LEN 50
int inputName(char *cname)
{
size_t i;
do
{
printf("Enter Customer Name: ");
fflush(stdout);
if (1 != scanf(STR_FMT(CNAME_MAX_LEN), cname))
return 1;
for (i = 0; isalpha(cname[i]); ++i);
}
while (i == 0 || cname[i]);
return 0;
}
int main()
{
char cname[CNAME_MAX_LEN + 1];
if (inputName(cname))
{
perror("error reading in name!\n");
return 1;
}
printf("cname is '%s'\n", cname);
return 0;
}
#包括
#包括
#包括
#定义STR(x)#x
#定义SSTR(x)STR(x)
#定义STR_FMT(x)“%”SSTR(x)“s”
#定义CNAME_MAX_LEN 50
int inputName(char*cname)
{
尺寸i;
做
{
printf(“输入客户名称:”);
fflush(stdout);
如果(1!=scanf(STR_FMT(CNAME_MAX_LEN),CNAME))
返回1;
对于(i=0;isalpha(cname[i]);+i);
}
而(i==0 | | cname[i]);
返回0;
}
int main()
{
字符cname[cname_MAX_LEN+1];
if(输入名称(cname))
{
perror(“读取名称时出错!\n”);
返回1;
}
printf(“cname是“%s”\n”,cname);
返回0;
}
您可以读入字符串,然后使用isalpha()
或类似函数对其进行扫描
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define STR(x) #x
#define SSTR(x) STR(x)
#define STR_FMT(x) "%" SSTR(x) "s"
#define CNAME_MAX_LEN 50
int inputName(char *cname)
{
size_t i;
do
{
printf("Enter Customer Name: ");
fflush(stdout);
if (1 != scanf(STR_FMT(CNAME_MAX_LEN), cname))
return 1;
for (i = 0; isalpha(cname[i]); ++i);
}
while (i == 0 || cname[i]);
return 0;
}
int main()
{
char cname[CNAME_MAX_LEN + 1];
if (inputName(cname))
{
perror("error reading in name!\n");
return 1;
}
printf("cname is '%s'\n", cname);
return 0;
}
#包括
#包括
#包括
#定义STR(x)#x
#定义SSTR(x)STR(x)
#定义STR_FMT(x)“%”SSTR(x)“s”
#定义CNAME_MAX_LEN 50
int inputName(char*cname)
{
尺寸i;
做
{
printf(“输入客户名称:”);
fflush(stdout);
如果(1!=scanf(STR_FMT(CNAME_MAX_LEN),CNAME))
返回1;
对于(i=0;isalpha(cname[i]);+i);
}
而(i==0 | | cname[i]);
返回0;
}
int main()
{
字符cname[cname_MAX_LEN+1];
if(输入名称(cname))
{
perror(“读取名称时出错!\n”);
返回1;
}
printf(“cname是“%s”\n”,cname);
返回0;
}
比如不允许在终端中输入非字符符号,或者检查输入的结果,如果输入的符号不是字符,则要求重新输入?@rutsky如果符号不是字符,我想要求重新输入。比如不允许在终端中输入非字符符号,或者通过检查输入的结果并要求重新输入输入的符号是否不是字符?@rutsky我想要求重新输入符号是否不是字符。例如不允许在终端中输入非字符符号,或者通过检查输入的结果并要求重新输入输入的符号是否不是字符?@rutsky我想要求重新输入符号是否不是字符。例如不允许在终端中输入非字符符号,或者通过检查输入的结果并要求重新输入输入的符号是否不是字符?@rutsky我想要求重新输入符号是否不是字符。谢谢,我会试试这个谢谢,我会试试这个谢谢,我会试试这个谢谢,我会试试这个谢谢,非常感谢谢谢,非常感谢,非常感谢,非常感谢