关于C语言中一些需要的注意点(3)

1、若果说,自己总是会把=和= = 弄错的话,不如把变量放在右侧,就比如说*(if(3== x)和if(x= =3)),如果可以的话,还是建议第一种写法,因为就算是自己写错了,也可以通过系统自己来帮助我们找出错误,如果一不小心写成了if(x=3),在第二种的情况下,是很难找出来的。
2、在写判断的时候,我们最好不要连用操作符之类的,就比如说
(i<j<k,i=3,j=4,k=2)*,如果说根据我们的判断,这句话应该是错误的,但是机器不会那么认为,机器是从左到右依次进行,在比较完i和j的大小之后,就会把前面的结果认为是1,然后再去和k进行比较。所以最后的结果却是真确的。为了防止这种情况的发生,我们可以把原来的代码改为**(i<j&&j<k)**.
3、布尔类型的头文件是<stdbool.h>,在用的时候是这样的。

_Bool flag=ture;
if(flag)
  printf("i like C\n");

也要注意的是,要大写。
4、signed是有正负号,而unsigned是只有0和正整数。一般来说signed是可以省略的,但是写了也不算是错误的,而unsigned也有自己的好处,因为在知道数值一定是正数的情况下,能有更多的数值。
5、全局变量是在*int main()之外并且之前的定义的数值,而局部变量就是在int main()*之内定义的。但是当局部变量和全局变量有同样相同的名字的时候,而又在int main之内用到的话,之前还刚好定义的局部变量,那局部变量的优先级是高于全局变量的。
6、内存三个区域是栈区(局部变量),堆区(动态内存),静态区(全局变量)
7、如果想要得到浮点数的结果,两个运算数必须至少一个是浮点数
例如

float x=6.0/4;

8、printf是默认右对齐,如果想要左对齐,可以printf(“%-5d”,n)。其中5的意思是限制最小的位置是存放5个,但是超过了也没有问题。
9、

scanf("%d",&x);
scanf("%f",&y);
//此时如果输入一个“-13.45e12#0”
scanf("%d%f",&x,&y);

此时,因为遇到了==.==,所以x,是-13.而y是,0.45e12。
10、scanf返回值是表示成功的读取的变量的个数,没有读取到的话时返回0,在读取到之前发生错误的话,会返回EOF(-1)。
11、除了%c之外,都会自动忽略起首的空白字符,如果想要强行跳过的话,可以写成

scanf(" %c",&a)//也就是在%c之前加上空格

12、如果为了避免,输入的时候,会有很多不同的方式,可以用这个来解决

scanf("%d%*c%d%*c%d",x,y,z);

这种情况,就是为了,防止在输入日期的时候,会造成不同。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值