_北巷南猫 发表于 2017-12-10 13:24:30

为什么他会逆序输出,这个代码看不懂,求解,谢谢!!

#include<stdio.h>
#include<string.h>
#define N 5
main()
{
        int a,b,i;
        printf("Input integers in order\n");
        for(i=0;i<N;i++)
      scanf("%d",&a);
        for(i=0;i<N;i++)
      b=a;
        for(i=0;i<N;i++)
      a=b;
        for(i=0;i<N;i++)
        {
        printf("%d",a);
        printf(" "); } printf("\n"); }

BngThea 发表于 2017-12-10 14:43:06

这个代码能逆序输出?

Daskbar 发表于 2017-12-10 15:10:18

我也不信哈哈

wjp 发表于 2017-12-11 20:36:44

代码都错了吧{:10_266:}

zhaxiaohu 发表于 2017-12-11 23:34:55

#include<stdio.h>
#define N 5
main()
{
      int a,b,i;
      printf("Input integers in order\n");
      for(i=0;i<N;i++)
      scanf("%d",&a);
      for(i=0;i<N;i++)
      b=a;
      for(i=0;i<N;i++)
      a=b;
      for(i=0;i<N;i++)
      printf("%d\t",a);
                printf("\n");
}


这样才能够正确的逆向输出
原因第二个for循环吧数组a里面的五个值赋值给数组b
赋值的时候
b=a
b=a
b=a
b=a
b=a
这时候数组b里面的值就是数组a里面的逆向数组
第三个循环
再把数组b的值赋值给数组a

再用第四个循环输出数组a    输出的数组a的值就是原来的逆向输出
页: [1]
查看完整版本: 为什么他会逆序输出,这个代码看不懂,求解,谢谢!!