输入一个字符串(少于80个字符),统计其中的空格和感叹号!的个数,然后将统计结果输出。 我的错误是

#include <stdio.h>
void main ( )
{char w[80];
int i,n;
printf("请输入一条字符:");
scanf("%c",&w[80]);
for(i=0;i<80;i++)
if(w[i]= )
break;
for(n=0;n<80;n++)
if(w[n]=!)
break;
printf("%c有空格%d个,感叹号%d个",w[80],i,n);




}

对照改错代码:

//改错代码 
#include <stdio.h>
int main()
{
    char w[80];
    int i,n,len=0,cntkg=0,cntgth=0;//cntkg记录空格的个数,cntgth记录感叹号的个数
    printf("请输入一条字符:");
    gets(w);
    for(i=0;i<80;i++)
        if(w[i]==' ')cntkg++;
    for(n=0;n<80;n++)
        if(w[n]=='!')cntgth++;
    printf("%s有空格%d个,感叹号%d个",w,cntkg,cntgth);  
    return 0;
}

输入输出示例如下:
请输入字符串:thow hare young!how are you!
您输入的字符串thow hare young!how are you!中空格个数为4个;感叹号个数为2个。