宅在家 发表于 2020-12-1 20:38:59

小白求助

#include <stdio.h>

int square(int x);

int square(int x)
{
      return x * x;
}

int main(void)
{
      int i = 1;

      while (i <= 5)
      {
                printf("%d 的平方是%d\n", i-1, square(i++));//这里这个i为什么要减一啊,i不是已经是1了吗???!!
      }

      return 0;
}

风雨兴 发表于 2020-12-1 20:44:36

printf("%d 的平方是%d\n", i-1, square(i++));
运算是从右到左进行的,先进行square(i++),表达式值为1,此时i等于2,然后进行i-1,这样才能回到1
页: [1]
查看完整版本: 小白求助