这两个代码为啥第一个是错的第二个是对的呢,明明内容一样只是格式不同啊

#include <stdio.h>
int main()
{int letter,blank,digit,other;
letter=blank=digit=other=0;
char ch;
int i;
for(i=1;i<=10;i++);
{ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;
else if(ch>='0'&&ch<='9')
digit++;
else if(ch==' '||ch=='\n')
blank++;
else
other++;
}
printf("letter = %d,blank = %d,digit = %d,other = %d",letter,blank,digit,other);
return 0;
}
代码2
#include<stdio.h>
int main (void)
{
int letter, blank, digit, other;
letter=blank=digit=other=0;
char ch;
int i;
for (i=1; i<=10; i++)
{
ch=getchar ();
if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;
else if (ch>='0'&&ch<='9')
digit++;
else if (ch==' '||ch=='\n')
blank++;
else
other++;
}
printf ("letter = %d, blank = %d, digit = %d, other = %d", letter, blank, digit, other);
return 0;
}

img

代码1循环打了个逗号