①源程序
#included <studio.h>
/*定义函数*/
【c语言|C语言-无符号型】unsigned fun2(unsigned num)
{
unsigned k=1;
do
{k*=num%10;num/=10;
while(num);
return k;
/*主函数(调用函数)*/
main()
{
unsigned n=26;
printf(\"%d\n\"fun2(n));
~
②解释
#included <studio.h>
unsigned fun2(unsigned num)
/*unsigned是 int的一种 , 表示无符号 , 即没有负号的整数 。
为方便理解 , 可简化成
fun2(num)
num是变量 ,
2是函数名的一部分 , 迷惑作用*/
{
unsigned k=1;
/*简化为k=1*/
do
{k*=num%10;num/=10;
/*do表示循环此句 , 直到while为假*/
while(num);
/*直到num为真(1≠0) , 继续循环*/
return k;
/*直到num为假(=0) , 循环停止 , 函数fun的返回值为k*/
main()
{
unsigned n=26;
/*简化为n=26*/
printf(\"%d\n\"fun2(n));
/*即求fun2(26)此处也可看出2是函数的一部分 , 可理解为求f(26)*/
~
③计算过程
1.先看主函数
求fun2(26)
2.再实参赋值形参
num=n=26
3.用形参的公式计算
当k=1num=26时
k=k*num%10=1x(26%10)=1x6=6
此处%表示取余 , 26除10余6
num=num/10=26/10=2
因为num为unsigned即无符号的整型 , 故保留商2 , 舍去小数位
~
当k=6num=2时
k=k*num%10=6x(2%10)=6x2=12
此处2%10表示2除10 , 商0余2 , 取余数2
num=num/10=2/10=0
此处2/10=0.2 , 但是num为整数 , 整数位为0
4.return k
当k=612num=0时
num为假
do…while…循环结束
将k的值12返回给函数fun2(26)
最后结果fun2(26)=12
~
④总结
unsigned
是 int的一种 , 表示无符号 , 即包含零和正整数 , 不包含负整数 。
千万不要当成什么函数或者变量了 , 它只是变量类型名 。
~
整型不只是int包含四种基本整型
有符号的整型int全称是signed int , 通常省略signed
无符号的整型unsigned int
长整型long int4字节
短整型short int , 2字节
还可相互组合
比如unsigned long int
- 外星人|印度女机器人造价4500元,却会38种语言,网友吐槽:白给都不要!
- c语言|Redmi K50依然竞争力十足,看这价格就知道了
- c语言|空间智能公司“宸境科技”完成数千万美元A轮融资
- c语言|新媒体内容创作——短视频内容创作策划与技巧
- 程序员|码农现状:被网上说成掌握几种语言后,剩下全靠copy、paste
- 国际计算语言学协会|联想创投领投,北京澜舟科技完成近亿元Pre-A轮融资 布局认知智能创新落地
- c语言|这款手机真不错,全面升级,iQOO 9系列得到用户的推荐与认可
- c语言|芯片掩膜:冷门赛道的狂热梦想
- c语言|红魔新一代官宣:2月17日,正式发布!
- c语言|火力全开,4天连打3枚,2022年马斯克已成功发射6枚猎鹰9火箭