想学爬虫 发表于 2019-11-15 19:45:21

C语言问题

#include <stdio.h> void main()
{                char a,b; int i; a='z'; b=65;
for(i=0;i<=4;i++)
{        if(i%3==0)        putchar(a-i); else        putchar(b+i);
}
}
大佬们,我没看懂啊.0.0

ba21 发表于 2019-11-15 21:39:39

这么乱的代码我也没看懂。

zxcloser 发表于 2019-11-17 23:50:09

循环1:输出a-i,此时i=0,a='z'所以是z
循环2:输出b+i,此时i=1,b=65,输出的是66,对应ascll码B
循环3:输出b+i,此时i=2,b=65,输出的是67,对应ascll码C
循环4:输出a-i,此时i=3,a='z'(即122),输出是119,对应ascll码w
循环5:输出b+i,此时i=4,b=65,输出的是69,对应ascll码E
顺便整理了一下你的代码
#include <stdio.h>
void main()
{               
        char a, b;
        int i; a = 'z';//z=91
        b = 65;
        for (i = 0; i <= 4; i++){
                if (i % 3 == 0)      
                        putchar(a - i);
                else      
                        putchar(b + i);
        }
}
{:10_256:}

LXMARCO 发表于 2019-11-18 05:08:29

我帮你调一下,这个是C++的语法。
#include <stdio.h>
void main()
{               
      char a, b;
      int i;
      a = 'z';
      //z=91
      b = 65;
      for (i = 0; i <= 4; i++){
                if (i % 3 == 0)      
                        putchar(a - i);
                else      
                        putchar(b + i);
      }
}
定义了a和b两个字符类型,定义了 i这个整型变量
for循环,i从0累加到4,for里面还有一个判断语句if,判断i是否能整除3.能的话输出 a-i,不能就输出b+i
我大概和你解释一些基本概念和这里面每个东西整个程序代表啥,输出答案你其实可以自己运行一下就知道了
页: [1]
查看完整版本: C语言问题