如何将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)并在代码结束时关闭它,但是一旦我输入数字或字母,控制台就会崩溃......有人可以帮我这个吗?
答案 0 :(得分:2)
你的问题不是一个循环问题,你需要给i一个值,因为它是未定义的,你会得到一个很好的崩溃。请替换
int i;
与
int i=0;