Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
出于某种原因,下面的代码进入一个无限循环。
我试过了,但没有“休息”;之后,如果和其他,没有运气。
非常感谢您的回复!提前谢谢:)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() // Very simple version of Bulls & Cows
{
 int j=0,k=0,bulls=0,cows=0;
 char random[5]="1234";
 char msg[100]="5678"; // I want it to be [100], I know it's not needed.
 printf("Bulls: %d  Cows: %d \n",bulls ,cows);
 for(k=0;k<4;k++)
 {
    for(j=0;j<4;j++)
    {
        if(msg[k]=msg[j])
        {
            if(k=j)
            {
                bulls++;
                break;
            }
            else
            {
                cows++;
                break;
            }
        }
    }
  printf("Bulls: %d  Cows: %d \n",bulls ,cows); //Just to see where is the problem
 }
 printf("Final Bulls: %d  Final Cows: %d \n",bulls ,cows);
}

最佳答案

=是赋值运算符。
==是比较运算符。
您想使用==

if (k == j) // note double =
if (msg[k] == msg[j]) // note double =

10-08 04:17