当前位置: 首页 > news >正文

几个C语言容易忽略的问题

1  取模符号+自增问题

我们不妨尝试写这样的程序

#include<stdio.h>
int main(){int n,t=5;printf("%d\n",7%(-3));//1printf("%d\n",(-7)%3);//-1while(--t)printf("%d\n",t);t=5;while(t--)printf("%d\n",t);return 0;
}

运行结果如下:

 第一个运行结果为1, 第二个运行结果为-1,说明取模运算的符号取决于被除数

i++代表先判断之后再+1,++i代表+1之后再进行判断

所以第一个循环打印到1就结束了,第二个循环还能够打印0

2  ~scanf问题

~是按位取反

scanf的返回值是输入值的个数

如果没有输入值就是返回-1

-1按位取反结果是0

while(~scanf("%d", &n))就是当没有输入的时候退出循环

http://www.lryc.cn/news/28058.html

相关文章:

  • CentOS 7.9安装Zabbix 4.4《保姆级教程》
  • 路由器与交换机的区别(基础知识)
  • Python基础学习9——函数
  • 项目中的MD5、盐值加密
  • 电商项目后端框架SpringBoot、MybatisPlus
  • 2023年03月IDE流行度最新排名
  • 华为校招机试 - 数组取最小值(Java JS Python)
  • 20 客户端服务订阅的事件机制剖析
  • ThreadPoolExecutor中的addWorker方法
  • 9 有线网络的封装
  • Linux----网络基础(2)--应用层的序列化与反序列化--守护进程--0226
  • uipath实现滑动验证码登录
  • openai-chatGPT的API调用异常处理
  • css实现音乐播放器页面 · 笔记
  • buu [NPUCTF2020]这是什么觅 1
  • Restful API 设计规范
  • sigwaittest测试超标的调试过程
  • Python进阶-----面对对象4.0(面对对象三大特征之--继承)
  • 九龙证券|利好政策密集发布,机构扎堆看好的高增长公司曝光
  • stm32CubeIDE FMC 驱动LCD(8080)
  • Java 数据类型
  • Prometheus 监控云Mysql和自建Mysql(多实例)
  • Vue3中的h函数
  • 阿尔法开发板 IMX6ULL 说明
  • Altium Designer19 #学习笔记# | 基础应用技巧汇总
  • Python 元类编程实现一个简单的 ORM
  • 《C++ Primer Plus》第18章:探讨 C++ 新标准(7)
  • Redis学习(二):Redis安装测试
  • Vector - CAPL - 简介及数据结构
  • 20230304英语学习