If-Else条件中的Continue语句给出无限循环
我在解决一个关于弦的问题 给定一个字符串S,编写一个程序,将字符串中每个单词的第一个字母都命名为大小写 输入: 第一行由一个整数T组成,即测试用例的数量。T测试用例如下。每个测试用例的第一行也是唯一一行由字符串S组成 输出: 对于每个测试用例,在新行中打印所需的输出 限制条件: 1此处的“继续”表示“立即在当前循环中执行下一次迭代,在本例中为while循环”If-Else条件中的Continue语句给出无限循环,c,arrays,string,if-statement,conditional-statements,C,Arrays,String,If Statement,Conditional Statements,我在解决一个关于弦的问题 给定一个字符串S,编写一个程序,将字符串中每个单词的第一个字母都命名为大小写 输入: 第一行由一个整数T组成,即测试用例的数量。T测试用例如下。每个测试用例的第一行也是唯一一行由字符串S组成 输出: 对于每个测试用例,在新行中打印所需的输出 限制条件: 1此处的“继续”表示“立即在当前循环中执行下一次迭代,在本例中为while循环” 因此,在您的代码中,“i++”行不会被执行,变量i也不会改变,从而导致无限循环。1)缩进/格式化代码,以清晰显示程序流程;2) “无限循环
因此,在您的代码中,“i++”行不会被执行,变量i也不会改变,从而导致无限循环。1)缩进/格式化代码,以清晰显示程序流程;2) “无限循环”是由于
while
没有正确地跳出它(if/else可能是存在循环的关键,但不能导致循环本身的构造,if/then不会影响continue的“范围”)。无论如何,通过遵循#1,问题应该是显而易见的。(提示:i的循环终止条件永远不会满足。如果需要,更有意义的变量名将非常有用。
#include <stdio.h>
#include <string.h>
int main() {
//code
int t,flag;
scanf("%d", &t);
while(t--){
int n,i=0;
scanf("%d", &n);
char str[100];
scanf("%s", str);
while(i<n){
if (str[i]!= str[n-1-i]){
flag = 1;
printf("%d", flag);
break;
}
else{
flag = 0;
printf("%d", flag);
continue;
}
i++;
}
if(flag ==1 )
printf("No\n");
else
printf("Yes\n");
}
return 0;
}