k的初值和switch语句主体中的3个case的设计约束着只能the连续读入才能使n值自增
k初值为0,当读入为t,k值自增,当紧接下来读入为h,执行第二个case后面的语句,此时if(k==1)为真,k自增为2,当读入第三个字符为e,执行第三个case后面的语句,此时if(k==2)为真,k自增为3 swith后面的if(k=3)语句为真,n值自增
当th e时,读入到三个字符时候为空格,空格是switch语句中的case后面所没有的常量表达式,所以此时执行default后面的语句,使得k归零,k为零后面n自然不能完成自增
[ 本帖最后由 c语言交流 于 2012-7-25 00:22 编辑 ]
k初值为0,当读入为t,k值自增,当紧接下来读入为h,执行第二个case后面的语句,此时if(k==1)为真,k自增为2,当读入第三个字符为e,执行第三个case后面的语句,此时if(k==2)为真,k自增为3 swith后面的if(k=3)语句为真,n值自增
当th e时,读入到三个字符时候为空格,空格是switch语句中的case后面所没有的常量表达式,所以此时执行default后面的语句,使得k归零,k为零后面n自然不能完成自增
[ 本帖最后由 c语言交流 于 2012-7-25 00:22 编辑 ]