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

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

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

一.数据类型关于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);

  后续持续更新--

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5635083.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存