栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【学习笔记】个人思考总结(陷阱)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【学习笔记】个人思考总结(陷阱)

一.数据类型关于char

      C语言中的char是用于声明单个字符的关键字。同时我们也可以用于数组的申请,但是这并没有完。它也可以存储整形数据,例如

#include
int main(void){
	 char a[0];
	 
	 scanf("%d",&a[0]);
	 
	 printf("%d",a[0]);
	 
	 return 0;
} 

这是因为int和char在本质上一样,不过编译器会进行转换。

但是 由于char是8bit,所以它的范围是【-128,127】

二.算法小技巧--

   1.交换数值的三种方法:

      异或(^)      这个操作符的意思是不同为1,其余为0(二进制);

                            例如:1001 和1011  —>0010

                             对于一个数连续异或两次值不变

#include
int main(void){
	
	   int a=5,t=a;
	   
	   a=a^a;
	   a=t^a;
	   
	   printf("%d",a);
	 
	  return 0;
} 

                             利用这个特性,就有以下操作:

 int a=5,t=12;
	   
	   a=a^t;
	   t=t^a;
	   a=a^t;
	   
	   printf("%d %d",a,t);
	 

        数学运算         这就是利用     a=(a+b)-a;

                                                       b=(a+b)-b; 

                         这就容易造成数据越界导致结果不准(不建议用)

       中间值交换        这个可以说是最常用的算法了

 int a=5,t=12,temp;
	   
	   temp=a;
	   a=t;
	   t=temp;
	   
	   printf("%d %d",a,t);

  后续持续更新--

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号