If-Else条件中的Continue语句给出无限循环

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) “无限循环

我在解决一个关于弦的问题

给定一个字符串S,编写一个程序,将字符串中每个单词的第一个字母都命名为大小写

输入: 第一行由一个整数T组成,即测试用例的数量。T测试用例如下。每个测试用例的第一行也是唯一一行由字符串S组成

输出: 对于每个测试用例,在新行中打印所需的输出

限制条件: 1此处的“继续”表示“立即在当前循环中执行下一次迭代,在本例中为while循环”


因此,在您的代码中,“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;
}