#include<stdio.h> void main() { int a,b=0,i; char c[50]="huan ying lai dao zi fu de shi jie"; for(i=0;i<50;i++) { printf("%c",c[i]); if (c[i]==' ') { b++; } } printf("\n一共有%d个空格\n",b); } 我这自定义了一句话,求出里面一共出现过几个空格.你看看 你那for里的 a=a用的实在太霸道了.貌似完全多余,还是死循环一个啊.看不懂. 加一个if也行,遇到回车break;