一._Bool类型(%d占位符)
C99标准添加了_Bool类型,用于表示布尔值,既逻辑值true(1)和false(0)。原则上_Bool在原则上仅占用1位存储空间,因为对0和1而言,1位的存储空间足够了。
这边还有一个小技巧,包含<stdbool.h>头文件,我们就可以使用bool来声明_Bool的值,并且可以用true代替1,用false代替0;
_Book类型的变量只能存储1(真)或0(假)。如果把其他非零值赋给_Bool类型的变量。该变量会被设置为1.这反应了C把所有的非零值都视为真。
这里我们给a赋值了-2,但因为a的类型是_Bool的原因,所以非零值都变1。
二.复数和虚数类型(%g占位符)
C语言有3中复数类型 float_complex,double _Complex和long double _Comples,float _Complex类型的变脸包含两个float类型的值,分别表示复数的实部和虚部,同时C语言还有三种虚数类型 float _Imaginary,double _Imaginary 和 long double _Imaginary
这里可以用complex.h头文件,便可用complex代替_Complex,用imaginary代替_Imaginary
我这边可以运行,但会有点报错,因为编译器对这类数据类型的支持原因,其实整个打印结果是不太好的。
整个是源码,朋友你可以在自己电脑上面试试
复数和虚数打印测试源代码:
#include <stdio.h>
int main()
{
double _Complex a,b;
a = 2 + 5i;
b = a + 1 + 2i;
printf("(%g+%gi)+(%g+%gi)=(%g+%gi)\n", a, (double _Complex)(1 + 2i), b);
return 0;
}
好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈