第一次上C语言实验课

前话:在人工智协社团试着写了四道C语言的题之后,虽然没能成功运行,但是通过问技术部的成员我解决了一些困惑。

cf959712ce4249e5a46d3b12ead6b778.png

 在这里输入输出的格式由题目限定,然后我下意识地用int定义变量(后来经提醒得知int是用来定义整形的),无论怎么改变输入,输出的始终一样。在了解到“int对应%d,float对应%f,double对应%lf”之后,我把int换成了double,随之得到了正确的运行。

第一次编程实验课

9119c9d9f0e34298b4f02e940bb9ab77.jpg

 在上课时,跟在“Hello world”之后的便是这串代码,用于计算阶乘,当我和课本上的代码打得一模一样之后,输入13却不能得出正确结果,是19……开头的一串数。(第八行“%d\n”后面的那个“.”应该是英文逗号,否则无法运行,看来课本上的代码也是不能随意搬用的啊)

老师提醒我们13!得出的结果数字过大,得出的并不是正确结果,目前对于我们来说能运行就行。隔壁桌同学查了下说,好像长的数字需要用到long int的类型。我立即联想到了前话中提到的类型定义和输出格式的联系,迅速上网学习了int,long int,long long int的区别,以及从CSDN上通过看他人的应用实例,确定了将int改为long long int,以及%d改为%lld的调整方向。

3fe7ab9ca2c541c899c88fff3862f457.png

刚开始并不清楚要怎么改,甚至将long long加到int n前面。经过思考,我认为应该是加在长数字的变量上的,所以先在反复赋值的fact定义时改变类型,然后是含有fact的子函数,最后是子函数在主函数中对应的位置。输入格式和输出格式从%d改为%lld,再次运行后,得到了正确的结果。

(第一次写博客,不熟悉CSDN的审核机制,文章还没存草稿就发,虽然说是待审核,但已经找不到了(x_x;)不得不又重写了一遍)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值