问题描述
- 花括匹配一进入while循环就出不来
-
在这里书写代码片 ```#include<stdio.h> int main() { int ch; int j=0; while((ch = getchar()) != EOF ); { if( ch == '{') { j++; } if(ch == '}' && j!=0 ) { j--; } if (ch=='}' && j==0 ) { printf("non"); return 0; } } if( j==0 ) { printf("yesn"); } else { printf("non"); } return 0; } 为啥那while循环出不来 vc6中
解决方案
晕,一个是小括号,一个是花括号,当然不匹配,仔细调试下,看看j==0是否满足
解决方案二:
你按的是回车键吗?如果出不来,试试在while语句里加一个如while((ch = getchar()) != EOF ||另外一个条件成立的话);
解决方案三:
从格式上看 我推测是因为while的条件后面多打了一个分号
这样的话始终都是执行的空语句 while(!EOF)不起作用了
应该为while(){
。。。
}
解决方案四:
while((ch = getchar()) != EOF );
已经构成了一个完整的循环体,循环内容是分号前while后,即空语句,与后边任何东西无关。
解决方案五:
while((ch = getchar()) != EOF );把最后的分号去掉
解决方案六:
while((ch = getchar()) != EOF );把最后的分号去掉
解决方案七:
while((ch = getchar()) != EOF );把最后的分号去掉
解决方案八:
while((ch = getchar()) != EOF );把最后的分号去掉
解决方案九:
while((ch = getchar()) != EOF );把最后的分号去掉
解决方案十:
while((ch = getchar()) != EOF );把最后的分号去掉
时间: 2024-08-30 19:52:04