当我运行c程序时,三个循环没有终止?

当我运行c程序时,三个循环没有终止?,c,C,当我执行这个程序时,它不会终止 例如,如果我给它输入A,输出将是: 65 7 1000001 0 65 7 1000001 ... 我的代码: #include <stdio.h> #include <string.h> void main() { int BinaryArray[10], Counter = 0, CounterTwo = 0, length, Ascii = 0; char inputstring[100]; printf

当我执行这个程序时,它不会终止

例如,如果我给它输入
A
,输出将是:

65 
7
1000001
0
65
7
1000001
...
我的代码:

#include <stdio.h>
#include <string.h>

void main()
{
    int BinaryArray[10], Counter = 0, CounterTwo = 0, length, Ascii = 0;
    char inputstring[100];
    printf("Enter the string: ");
    scanf("%s", inputstring);
    // Ascii = 'B';
    // printf("%d\n", Ascii);
    // printf("%d\n", inputstring[0]);
    // printf("The Ascii value of %c is %d", 'A', 'A');
    length = strlen(inputstring);
    // printf("%d\n", length);

    for (Counter = 0; Counter < length; Counter++)
    {
        Ascii = inputstring[Counter];
        printf("%d\n", Ascii);
        for(Counter = 0; Ascii > 0; Counter++)
        {
            BinaryArray[Counter] = Ascii % 2;
            Ascii = Ascii / 2;
        }
        printf("%d\n", Counter);
        for (Counter = Counter - 1; Counter >= 0; Counter--)
        {
            printf("%d", BinaryArray[Counter]);
        }
        printf("\n");
        Ascii = 0;
        printf("%d\n", Ascii);
    }
}
#包括
#包括
void main()
{
int二进制数组[10],计数器=0,计数器2=0,长度,Ascii=0;
字符输入字符串[100];
printf(“输入字符串:”);
scanf(“%s”,输入字符串);
//Ascii='B';
//printf(“%d\n”,Ascii);
//printf(“%d\n”,inputstring[0]);
//printf(“Ascii值%c是%d”,“A”,“A”);
长度=strlen(输入字符串);
//printf(“%d\n”,长度);
用于(计数器=0;计数器<长度;计数器++)
{
Ascii=输入字符串[计数器];
printf(“%d\n”,Ascii);
用于(计数器=0;Ascii>0;计数器++)
{
二进制数组[计数器]=Ascii%2;
Ascii=Ascii/2;
}
printf(“%d\n”,计数器);
对于(计数器=计数器-1;计数器>=0;计数器--)
{
printf(“%d”,二进制数组[计数器]);
}
printf(“\n”);
Ascii=0;
printf(“%d\n”,Ascii);
}
}

这是因为在这个循环之后

for (Counter = Counter - 1; Counter >= 0; Counter--)
    {
        printf("%d", BinaryArray[Counter]);
    }

计数器将设置为0。修复存储是变量中的值,并在for循环中使用它,而不是使用计数器变量。

这是因为在这个循环之后

for (Counter = Counter - 1; Counter >= 0; Counter--)
    {
        printf("%d", BinaryArray[Counter]);
    }

计数器将设置为0。要修复变量中的store is值,并在for循环中使用它,而不是使用计数器变量。

在使用相同全局控制变量的循环中有一个循环。怎么办:

  • 为特定循环使用另一个变量
  • 在for循环中使用局部变量

  • 在使用相同全局控制变量的循环中有一个循环。怎么办:

  • 为特定循环使用另一个变量
  • 在for循环中使用局部变量