C新手,简单代码无效

时间:2016-01-12 15:45:23

标签: c arrays char

由于某种原因,以下代码进入无限循环。 我试过没有“休息”;在if和else之后,没有运气。

非常感谢您的回复!在此先感谢:)

#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);
}

1 个答案:

答案 0 :(得分:3)

=是一个赋值运算符。

==是一个比较运算符。

您想使用==

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