鱼C论坛

 找回密码
 立即注册
查看: 1454|回复: 11

[已解决]这程序哪里错了?

[复制链接]
发表于 2020-3-6 13:40:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main()
{
        int a;//整数型的同学学号输入
        printf("***********开始*********");
        printf("请输入a的学号");
        scanf_s("%d", &a);
        printf("学号姓名/ 学生名字");
        if (a > 5 || a < 1) {
                printf("error\n");
                return;
        }
        printf("%3d\t\t", a);
        switch (a)
        {
        case 1:printf("小明\n"); break;
        case 2:printf("小红\n"); break;
        case 3:printf("张三\n"); break;
        case 4:printf("李四\n"); break;
        case 5:printf("小九\n"); break;
        default:printf("本班没有这个同学\n");
        }
        printf("********结束**********\n");
       


        }
              为什么编译错误呢????
最佳答案
2020-3-6 13:53:27

我这里没有问题啊,你这样试试:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.          int a;//整数型的同学学号输入
  5.          printf("***********开始*********");
  6.          printf("请输入a的学号");
  7.          scanf_s("%d", &a);
  8.          printf("学号姓名/ 学生名字");
  9.          if (a > 5 || a < 1) {
  10.                  printf("error\n");
  11.                  return;
  12.          }
  13.          printf("%3d\t\t", a);
  14.          switch (a)
  15.          {
  16.          case 1:printf("小明\n"); break;
  17.          case 2:printf("小红\n"); break;
  18.          case 3:printf("张三\n"); break;
  19.          case 4:printf("李四\n"); break;
  20.          case 5:printf("小九\n"); break;
  21.          default:printf("本班没有这个同学\n");
  22.          }
  23.          printf("********结束**********\n");
  24.          return 0;
  25.          


  26.          }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 13:41:40 | 显示全部楼层
用 scanf 就可以了

  1. #include <stdio.h>
  2. void main()
  3. {
  4.     int a; //整数型的同学学号输入
  5.     printf("***********开始*********");
  6.     printf("请输入a的学号");
  7.     scanf("%d", &a);
  8.     printf("学号姓名/ 学生名字");
  9.     if (a > 5 || a < 1)
  10.     {
  11.         printf("error\n");
  12.         return;
  13.     }
  14.     printf("%3d\t\t", a);
  15.     switch (a)
  16.     {
  17.     case 1:
  18.         printf("小明\n");
  19.         break;
  20.     case 2:
  21.         printf("小红\n");
  22.         break;
  23.     case 3:
  24.         printf("张三\n");
  25.         break;
  26.     case 4:
  27.         printf("李四\n");
  28.         break;
  29.     case 5:
  30.         printf("小九\n");
  31.         break;
  32.     default:
  33.         printf("本班没有这个同学\n");
  34.     }
  35.     printf("********结束**********\n");
  36. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 13:43:08 | 显示全部楼层
zltzlt 发表于 2020-3-6 13:41
用 scanf 就可以了

还是错误的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 13:49:23 | 显示全部楼层

还是编译错误啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 13:53:27 | 显示全部楼层    本楼为最佳答案   

我这里没有问题啊,你这样试试:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.          int a;//整数型的同学学号输入
  5.          printf("***********开始*********");
  6.          printf("请输入a的学号");
  7.          scanf_s("%d", &a);
  8.          printf("学号姓名/ 学生名字");
  9.          if (a > 5 || a < 1) {
  10.                  printf("error\n");
  11.                  return;
  12.          }
  13.          printf("%3d\t\t", a);
  14.          switch (a)
  15.          {
  16.          case 1:printf("小明\n"); break;
  17.          case 2:printf("小红\n"); break;
  18.          case 3:printf("张三\n"); break;
  19.          case 4:printf("李四\n"); break;
  20.          case 5:printf("小九\n"); break;
  21.          default:printf("本班没有这个同学\n");
  22.          }
  23.          printf("********结束**********\n");
  24.          return 0;
  25.          


  26.          }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 13:56:51 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 13:53
我这里没有问题啊,你这样试试:

这个可以了,为什么第一个程序不行呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 13:57:27 | 显示全部楼层
2862593577 发表于 2020-3-6 13:56
这个可以了,为什么第一个程序不行呀?

可能是第一个程序没有返回值吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 14:00:09 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 13:57
可能是第一个程序没有返回值吧

if (a > 5 || a < 1) {
                printf("error\n");
                return 0;
        }
这块表示什么,我不懂?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 14:01:40 | 显示全部楼层
2862593577 发表于 2020-3-6 14:00
if (a > 5 || a < 1) {
                printf("error\n");
                return 0;


如果a的值大于5或者小于1就打印'error!'并退出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 14:07:12 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 14:01
如果a的值大于5或者小于1就打印'error!'并退出

那为什么要加个return 0,这个又是表达什么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 14:08:10 | 显示全部楼层
2862593577 发表于 2020-3-6 14:07
那为什么要加个return 0,这个又是表达什么

结束程序,要不然还会继续运行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 14:13:38 | 显示全部楼层
2862593577 发表于 2020-3-6 14:07
那为什么要加个return 0,这个又是表达什么

printf("%3d\t\t", a);,这个%3d表示什么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表