英俊男孩建坤 发表于 2022-1-23 22:07:45

bug 求助

本帖最后由 英俊男孩建坤 于 2022-1-23 22:39 编辑

#include <stdio.h>
int main(int argc, char *argv[])
{
        int num_subj;
        float in_gp, sum_gp = 0.0;
        char in_grade;
        int i;
        // argv is the name of the program
       printf("This program is %s\n",argv);
        num_subj = argc-1;
        printf("There are %d subjects\n",num_subj);
        for (i = 1; i <= num_subj; i++) {
                in_grade = argv; // get the first character
                switch (in_grade) {
                        case 'A': in_gp = 4.0; break;
                        case 'B': in_gp = 3.0; break;
                        case 'C': in_gp = 2.0; break;
                        case 'D': in_gp = 1.0; break;
                        case 'F': in_gp = 0.0; break;
                        default: printf("Wrong grade %s\n",argv);
                }
        if (argv == '+') in_gp = in_gp + 0.3;
        if (argv == '-') in_gp = in_gp - 0.3;
        sum_gp = sum_gp + in_gp;
        }
       printf("Your GPA for %d subjects is %5.2f\n",num_subj,sum_gp/num_subj);
}


这个代码存在一个很严重的bug是啥啊?这个bug只有在输入数据的时候才会出现

YSW9527 发表于 2022-1-23 22:49:16

在哪输入数据??{:10_277:}{:10_312:}

jhq999 发表于 2022-1-23 23:33:43

YSW9527 发表于 2022-1-23 22:49
在哪输入数据??

命令行

YSW9527 发表于 2022-1-23 23:41:55

jhq999 发表于 2022-1-23 23:33
命令行

我一运行就出数据了,也没给我机会输入呀!
我看了你的代码也没有输入函数啊

jhq999 发表于 2022-1-24 06:43:19

本帖最后由 jhq999 于 2022-1-24 06:46 编辑

YSW9527 发表于 2022-1-23 23:41
我一运行就出数据了,也没给我机会输入呀!
我看了你的代码也没有输入函数啊

生成执行文件,然后再用控制台运行,或者window的运行中运行,或者新建一个批处理文件
例如 dos里的copy命令:
copy C:\*.*   d:\
页: [1]
查看完整版本: bug 求助