【问题标题】:Different outputs不同的输出
【发布时间】:2014-08-08 07:43:59
【问题描述】:

为什么第一个代码与第二个代码给出不同的输出,即使他们打算做同样的事情?

while(s[i++]==t[j++]);

while(s[i]==t[j])
        {
            i++;
            j++;
        }

【问题讨论】:

  • 给出的代码根本不产生任何输出。
  • 您应该始终指定您预期会发生什么、您观察到发生了什么以及您的想法(如果有的话)。在这里你只说输出不同,但你没有提到你的意思是哪个输出,你期望什么,或者实际发生了什么。
  • 这些问题的标题不好,措辞不明确,代码 sn-p 不完整,因此值得一票。
  • 我得到了答案。谢谢。
  • @Abhishek 如果 Alok Singhal 的答案是您正在寻找的,您应该接受它。

标签: c post-increment


【解决方案1】:

第一个代码递增ij,即使是s[i] != t[j],而第二个代码不会。

例如,用:

char s[] = "hello";
char t[] = "world";
int i = 0, j = 0;

在循环之后,第一个代码的ij 都等于1,但第二个代码的ij 等于0

【讨论】:

  • 哦!行!非常感谢。我认为只有当它们相等时第一个才会增加..
猜你喜欢
  • 2013-01-09
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
相关资源
最近更新 更多