if-else 不可预测的行为

问题描述 投票:0回答:1

我正在尝试编写一个基本的 C 程序来在屏幕上显示文件的内容。 我遇到了 if-else 似乎工作方式的问题。这里有两个代码,我认为它们应该工作相同,但由于某种原因它们不工作。

代码1:

    while (condition)
    {    if(j==3&&c!=' ')
         {
            printf("%c",c);
            j++;
         }
    
         else if(j!=3)
         { 
            printf("%c",c);
            j++;
         }
    }
    

代码2:

   while(condition) 
   {
       if(j==3&&c!=' ')
          printf("%c",c);
    
       else if(j!=3)
          printf("%c",c);
    
       j++;
   }

请指出我哪里出错了。预先感谢。

c if-statement
1个回答
0
投票

因为当

j == 3 and c == ' '
时,代码 1 不会增加 j,但代码 2 会增加。

© www.soinside.com 2019 - 2024. All rights reserved.