单引号和双引号及逻辑运算符

单引号和双引号

C语言单引号用来表示字符常量,双引号用于表示字符串常量。

a”表示字符串常量,在内存中占两个字节。“a+1表示指针运算,指向“a”结束符‘’。

把一个32位的数据给char类型数据赋值,char类型数据的值只有后八位。

本质上单引号括起来的一个字符表示整数,双引号括起来的字符代表一个指针。

C编译器接受字符和字符串的比较,可意义是错误的。允许字符串对变量赋值,但是意义是可笑的。

             逻辑运算符分析

短路规则:

||从左往右开始计算,当遇到为真的条件时停止计算,整个表达式为真;所有条件为假时表达式为假。

&&从左往右开始计算,当遇到为假的条件事停止计算,整个表达式为假;所有条件为真时表达式才为真。

!是啥? C语言中逻辑符“!”只认得0,只知道见了0就返回1.因此当其作用的值不是0时,其结果为0.

秀一下三目运算符:

int a = 1,b = 2,c = 0,*p = NULL;

p = (a < b ? &a : &b);

*p = 3;

//返回了a的地址。

原文地址:https://www.cnblogs.com/stm32f4/p/6278494.html