鱼C论坛

 找回密码
 立即注册
查看: 1187|回复: 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

我这里没有问题啊,你这样试试:
#include <stdio.h>
int 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");
         return 0;
         


         }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 13:41:40 | 显示全部楼层
用 scanf 就可以了
#include <stdio.h>
void main()
{
    int a; //整数型的同学学号输入
    printf("***********开始*********");
    printf("请输入a的学号");
    scanf("%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");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

还是错误的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

还是编译错误啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我这里没有问题啊,你这样试试:
#include <stdio.h>
int 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");
         return 0;
         


         }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

这个可以了,为什么第一个程序不行呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

可能是第一个程序没有返回值吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

if (a > 5 || a < 1) {
                printf("error\n");
                return 0;
        }
这块表示什么,我不懂?
想知道小甲鱼最近在做啥?请访问 -> 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!'并退出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

那为什么要加个return 0,这个又是表达什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

结束程序,要不然还会继续运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

printf("%3d\t\t", a);,这个%3d表示什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 00:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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