`
kelehaier
  • 浏览: 4738 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【C语言基础】unsigned short类型用于循环的一个难点

阅读更多
我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:【第1篇】【C语言基础】【unsigned short类型用于循环的一个难点】
要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的星球二维码加入吧!

一、【问题】

同学们,今天来道C语言比较有意思的题,C程序代码见下图。

for循环中我给了变量para一个初始值1,也让para自增1,但是没有指定for循环结束的条件。你觉得有问题吗?会不会是一个无穷尽的循环?如果有问题你打算怎么修改呢?

二、【解惑】

这个循环是会终止的,不会永远循环下去。

在我的PC机上,我使用sizeof求出了“unsigned short”类型变量是占用了两个字节,那么取值范围是“0-65535”。在这段C程序中,unsigned short类型变量para的初始值是1,只要它不是0,for循环就会一直执行。

在每次执行完printf函数后,变量para都会自增1,一直到para自增为65535,此时变量para再加1你可别以为会变成65536!你要知道此时变量para溢出了,又回到了取值范围的最小点:0。

变量para为0,那么此时for循环也就结束了,也就是说printf函数输出1到65535后程序结束!

三、“C语言解惑课堂”星球加入卡片

点击此链接微信扫扫即可加入!

 

0
0
分享到:
评论

相关推荐

    C语言中unsigned、类型转换与程序的可移植性.pdf

    C语言中unsigned、类型转换与程序的可移植性

    为何unsigned short是65535数值长度,short是32767数值长度

    为何unsigned short是65535数值长度,short是32767数值长度........................................................................................

    s扫描器c语言源代码

    s扫描器C语言源代码 typedef struct _iphdr { unsigned char h_lenver; //4位首部长度+4位IP版本号 unsigned char tos; //8位服务类型TOS unsigned short total_len; //16位总长度(字节) unsigned ...

    C语言宏定义技巧(常用宏定义)

    1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef unsigned ...

    基于C语言char与unsigned char的区别介绍

    在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别。 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,...

    单片机.C语言基础.入门篇

    单片机.C语言.入门篇#include #include void main(void) { unsigned char True = 1; //定义 unsigned char False = 0; SCON = 0x50; //串口方式1,允许接收 TMOD = 0x20; //定时器1定时方式2 TH1 = 0xE8; //...

    unsigned char数组转成string 用16进制表示

    实现将unsigned char数组转成string型,用16进制显示。

    C语言教程基础

    类型说明符 数的范围 分配字节数short -32768~32767 ■■unsigned short 0~65535 ■■int -2147483648~2147483647 ■■■■ unsigned int 0~4294967295 ■■■■long int -2147483648~2147483647 ■■■■...

    非常好的C语言基础项目资源,分享出来.zip

    c语言基础 . ├── C language │ ├── C语言函数库详解.docx │ ├── C语言深度解剖 │ │ ├── C语言深度解剖(第2版)解开程序员面试笔试的秘密 PDF电子书下载 带书签目录 完整版.pdf │ │ ├── C语言...

    C语言求一个正整数的位数

    以下是一个使用C语言的示例代码: #include int main() { unsigned int num; int count = 0; printf("请输入一个正整数:"); scanf("%u", &num); while (num > 0) { num = num / 10; count++; } ...

    c语言入门教程.txt

    从表面字意上也可以看出,关键字是C语言本身某些特性的一个表示,是唯一的代表某一个意思的。 下面列出ANSI标准定义的32个C语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们的各自用法。 auto ...

    C语言合并多个char *类型的字符串

    main.c为测试文件,调用tools.h中的函数: char * MultiCombine(char *a[],int num); 编译方法:gcc -o test main.c tools.c

    如何把char str,或unsigned char str转换成CString

    如何把char str,或unsigned char str转换成CString

    蓝桥杯单片机串口通信拼接字符串与变量

    用于指示需要输出一个unsigned char类型的整数。 在基础知识方面, unsigned char类型是一种无符号字符类型,它可以存储0到255之间的整数。 它通常用于表示二进制数据的字节和字符。 在C语言中, 可以使用%u...

    详解C语言的类型转换

     ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128~127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0~255(有些机器把char型当做unsighed char型对待, 取值范围...

    51单片机C语言编程基础及实例

    我们通常又将各二极与一个字节的 8 位对应,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7), 相应 8 个发光二极管正好与单片机一个端口 Pn 的 8 个引脚连接,这样单片机就可以通过引脚输出高 低电平控制 8 个...

    操作系统之生产者消费者代码

    //开辟缓冲区,用数组表示,可以看成是一个循环队列 unsigned short ProductID = 0;//新生产出来的产品的产品号 unsigned short ConsumeID = 0;//被消耗的产品的产品号 unsigned short in = 0;//产品进缓冲区时的...

    C语言常用宏定义技巧

    C语言常用宏定义技巧!

    C语言的基础知识学习个人总结集合.zip

    C语言的基础知识学习个人总结集合.zip C language │ ├── C语言函数库详解.docx │ ├── C语言深度解剖 │ │ ├── C语言深度解剖(第2版)解开程序员面试笔试的秘密 PDF电子书下载 带书签目录 完整版.pdf ...

    c语言程序设计标准教程

    枚举元素虽可由系统或用户定义一个顺序值,但枚举元素和整数并不相同,它们属于不同的类型。因此,也不能用printf语句来输出元素值(可输出顺序值)。 3. 位运算是C语言的一种特殊运算功能, 它是以二进制位为单位...

Global site tag (gtag.js) - Google Analytics