我只有30天 发表于 2022-2-26 16:39:22

输出结果为什么是

本帖最后由 我只有30天 于 2022-2-26 17:24 编辑

#include<stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
   switch(i%5)
   {
      case 0:printf("*");break;
      case 1:printf("#");break;
      default:printf("\n");
      case 2:printf("&");
      
}
}
输出结果是#&
                  &
                  &*

人造人 发表于 2022-2-26 17:17:57

什么?这代码输出 28 和 70 ?

我只有30天 发表于 2022-2-26 17:18:19

本帖最后由 我只有30天 于 2022-2-26 17:20 编辑

人造人 发表于 2022-2-26 17:17
什么?这代码输出 28 和 70 ?
写错了

大马强 发表于 2022-2-26 17:18:33

{:10_245:}{:10_245:}

我只有30天 发表于 2022-2-26 17:19:35

大马强 发表于 2022-2-26 17:18


写错了抱歉

大马强 发表于 2022-2-26 17:19:54

你在代码不对吧,要不就是没有编译这个代码,直接运行的话是执行上一个代码的

我只有30天 发表于 2022-2-26 17:21:07

帖子从新审核了

本帖最后由 我只有30天 于 2022-2-26 17:26 编辑

大马强 发表于 2022-2-26 17:19
你在代码不对吧,要不就是没有编译这个代码,直接运行的话是执行上一个代码的

大马强 发表于 2022-2-26 17:27:36

我先说一说
首先你在代码没按着标准来写
其次,我不知道你是不是故意的将这段代码位置颠倒
default:printf("\n");
case 2:printf("&");

稍加修改,这个结果又不一样了
#include<stdio.h>
int main() // 要按标准写
{
int i;
for(i=1;i<=5;i++)
    switch(i%5)
    {
           
              case 0:printf("*");break;
              case 1:printf("#");break;
              case 2:printf("&");
              default:printf("\n");
             
    }
return 0; // 要按标准写
}

我只有30天 发表于 2022-2-26 17:29:16

大马强 发表于 2022-2-26 17:27
我先说一说
首先你在代码没按着标准来写
其次,我不知道你是不是故意的将这段代码位置颠倒


书上这么写的

我只有30天 发表于 2022-2-26 17:30:49

大马强 发表于 2022-2-26 17:27
我先说一说
首先你在代码没按着标准来写
其次,我不知道你是不是故意的将这段代码位置颠倒


我就是不明白输出结果什么意思
页: [1]
查看完整版本: 输出结果为什么是