| 
 
TA的每日心情|  | 开心 2025-10-16 14:37
 | 
|---|
 签到天数: 287 天 [LV.8]以坛为家I | 
 
| 本帖最后由 赵yyyyy 于 2022-8-14 09:33 编辑 
 (小张,小王已被群管理员“C++编译器”移出群聊。)
 int:int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
 int:int a11,a12,a13,a14,a15,a16,a17,a18,a19,a20;
 int:int a21,a22,a23,a24,a25,a26,a27,a28,a29,a30;
 int:int a31,a32,a33,a34,a35,a36,a37,a38,a39,a40;
 编译器:int,本群禁止刷屏,否则禁言!
 int:我没在刷屏,我在执行我的代码。呜呜……
 编译器:这是神马东西,怎么定义这么多变量!
 int:我哪知道啊,据说是要找出1000以内所有素数,小王又作妖,打算定义1000个变量,我快气死了,他把数组弄出来不香吗?
 编译器:我也快气死了,昨天我指导了这俩家伙半天,结果不知道写出什么玩意儿。
 编译器:我现在才给这两人挑错呢!
 编译器:哎?我昨天爆出一堆错,这两人连错都没处理完,就开始搞新的了?
 int[]:可不是,现在这两人不弄函数了,又玩儿开数组了。
 int:int数组,你可来了,我现在得定义1000个变量,真不知道哪来这种搞法,快帮帮我吧!
 编译器:你俩先等等吧,反正他俩一时搞不成,先帮我看一下这程序有几处错。
 
 复制代码#include<iostream>
using namespace std;
int s(int a,int b);//交换两数
{
        int tmp;
        tmp=a;
        a=b;
        return 0;
}
int s(int a,int b)//找两数最大公约数并输出
{
        int tmp;
        if(a<b){
                s(a,b)
                //TODO
        }
        while(b!=0){
                tmp=a%b;
                a=b;
                b=tmp;        //TODO
        }
        cout<<a<<endl;
        return a;
}
int s(int a,int b,int c)//找最小公倍数并输出
{
        c=a*b/s(a,b);
        return c;
        cout<<c<<endl;
}
void main()
{
        int a,b;
        bool c;
        while(cout<<"是否进行计算?如是,选择1,反之选0"<<endl,cin>>c,c!=0){
                cout<<"请输入a,b。"<<endl;
                s(a,b);//找最大公约数
                s(a,b,c);//找最小公倍数
                //TODO
        }
        return 0;
}
int:好吧,你是老大,又给我们整活了。下次能换个人来干这些事吗?
 编译器:没办法,谁让每个程序都有你。还有,把这些错全找出来的有奖励哦
 int:太好了老大!不会是坑吧?
 编译器:绝对不会
 int[]:绝(yi)对(ding)不(hui)会(you)
 int[]:这是菜鸟程序员迷惑行为大赏?
 int:差不多吧,咱俩先看看这些东西。
 int[]:三个函数都命名成了s?要是没注释,鬼知道这些函数是干什么的。
 编译器:反正我没搞明白那个是那个。
 int:这应该有一处二义性错误吧?第三个有三个参数,而第一、第二个都有两个参数,会导致混淆,应该有一个二义性错误。
 int[]:难道不是三个混淆?我实在看不出第三个函数中c有什么作用,还不如直接去掉,在下面定义一个中间量。
 int:没作用不代表不存在,c的参与让第三个函数的参量变成了三个,和其他两个区分开来,要是去了或者赋值为一个常量,那就成三个混淆了。
 int:最合理的改法应该是重起一个函数名。
 int:这三个s实在看不出是什么意思。
 编译器:据说第一个s是swap的意思,第二、三个s都是sort。
 int:估计第二、三个函数是一个人写的。多写几个字母会疯吗?
 int[]:好,这是一处,还有没有?
 int:当然还有,你看第一个函数。
 int[]:没问题呀?
 int:老大让我们找的是错误,而不是语法错误。
 int[]:没毛病呀?
 int:这个函数是干什么的?
 int[]:奥,我明白了,这是传值和传引用的问题,这个函数是传值的。这个函数执行完后 ,还是诸神归位,根本交换不了数。
 int[]:应该改成传引用,这样这两个数就可以被交换了。
 int[]:老大,应该有两处错。
 编译器:你确定吗?
 int[]:我确定。
 编译器:给你一次机会,再说一遍,你确定吗?
 int[]:我觉得没毛病。
 编译器:毛病多了去了,你还说没毛病,这也太自信了吧?
 int[]:嗯……我再看看
 int:void什么时候跑出来定义主函数了?
 void:我上次看,这样写没毛病呀?
 void:那次编译器老大都通过了。
 int:void,原来你在线
 编译器:我可没某些编译器那么好说话,现在最新的编译器几乎都不支持void main这种写法!!!!!!!!
 void:我错了[哭脸]
 int:第三个函数也有点毛病。
 int:只要执行到return,函数终止,也就是说这个语句根本不会被执行。
 int:还有,交换数没必要返回值吧?这个函数用void定义更好,省空间。
 int[]:还得你厉害,现在有五处错了。int,还有吗?
 int:我再看看……好像没了。
 int[]:大哥,一共五处出错。
 编译器:真的吗?
 int[]:没毛病。
 编译器:毛病多了去了。
 int:?
 int[]:?+1
 编译器::提示一下,有些标点有点奇怪。
 int[]:emmm……靠!
 [url=【C++】打卡帖假如语句会说话2:函数(剧本版) https://www.chncert.cn/forum.php ... amp;fromuid=1072162 (出处: 红客联盟)]【C++】打卡帖假如语句会说话2:函数(剧本版) https://www.chncert.cn/forum.php ... amp;fromuid=1072162 (出处: 红客联盟)[/url]
 | 
 |