c isalpha 和 isdigit while 循环
c isalpha and isdigit while loop
如何将 isalpha 和 isdigit 放入 while(1) 循环中?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i;
char type[256];
printf("You can type a number or a word. Type exit to exit! \n");
printf("Type: ");
fgets (type, 256, stdin);
if (isalpha(type[i]))
{
printf("Typed text: %s\n", type);
if((strcmp(type,"exit\n") == 0))
{
printf("Exiting...\n");
exit(1);
}
}
else if (isdigit(type[i]))
{
printf("Typed number: %s\n", type);
}
else
{
printf("Typed: %s\n", type);
printf("Its not a letter or number...?!\n");
}
}
我尝试在代码开头添加 while(1) 并在代码末尾将其关闭,但是只要我输入数字或字母,控制台就会崩溃...有人可以帮我解决这个问题吗?
你的问题不是循环问题,你需要给 i 一个值,因为它是未定义的,你会得到一个很好的崩溃。请替换
int i;
和
int i=0;
如何将 isalpha 和 isdigit 放入 while(1) 循环中?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i;
char type[256];
printf("You can type a number or a word. Type exit to exit! \n");
printf("Type: ");
fgets (type, 256, stdin);
if (isalpha(type[i]))
{
printf("Typed text: %s\n", type);
if((strcmp(type,"exit\n") == 0))
{
printf("Exiting...\n");
exit(1);
}
}
else if (isdigit(type[i]))
{
printf("Typed number: %s\n", type);
}
else
{
printf("Typed: %s\n", type);
printf("Its not a letter or number...?!\n");
}
}
我尝试在代码开头添加 while(1) 并在代码末尾将其关闭,但是只要我输入数字或字母,控制台就会崩溃...有人可以帮我解决这个问题吗?
你的问题不是循环问题,你需要给 i 一个值,因为它是未定义的,你会得到一个很好的崩溃。请替换
int i;
和
int i=0;