|C语言-无符号型
①源程序
#included <studio.h>
/*定义函数*/
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字节
还可相互组合
【|C语言-无符号型】比如unsigned long int
- 一夜爆红的AI语言处理工具,能一句话总结论文,但仍“难辨是非”
- 北外滩影像日志|多伦路210号住宅①
- 2022天象时间表
- 人力资源|蚕食抖快,「小红书们」踩上视频化油门|社区的力量①
- 程序员|未来替代Python的机器学习编程语言会是Julia吗
- c语言|e观沧海丨算法焉能藏“算计”
- 电子商务|如何新建c语言项目
- 算法|可以跳过 Objective-C 然后直接学习 Swift 语言吗?
- 《幽灵线:东京》中国台湾评级15+ 含暴力、不当语言
- 双十一|如何新建c语言项目