char跟printf同样都是在屏幕输出内容 两者有什么不同 不用char只用printf不行吗
1、我觉得可以你理解有点不太对,在C语言中,char表示的是字符,是数据的一种类型;printf才是在屏幕中输出内容
2、例如:char x,代表的是定义了一个char类型的变量x;而pinrtf("x")表示的是输出字符x,二者不是一个东西,实现的功能也不一样
3、建议认真看书好好复习基础,记清楚概念
char 是 C 语言的一种数据类型,表示单个字符。
printf 是 C 语言的标准库函数,用于格式化输出到标准输出(通常是屏幕)。
它接受一个格式字符串和可变数量的参数,格式字符串描述了如何将参数格式化为字符串并输出。
因此,char 是一种数据类型,而 printf 是一种输出函数。
你确定问的c语言?char和printf的区别?一个变量数据类型一个函数。
现在回到我在最初遇到的问题,其实存入变量的二进制数在不变的情况下,我们看的方式决定了最终显示的方式,而我们看的方式就是格式化字符串类型为了方便起见我将最开始的代码搬到这里。
char c = -1;
printf("%u" ,c);
c是一个有符号的8位数,所以c也确实应该是FF但是通过上面的表格我们知道%u表示的是无符号整形(32位数)所以计算机就需要将char转换为unsigned int也就是8位转换位32位。
计算机的做法就是将剩下的位用1补齐(-1 = FFFF FFFF)又因为符号位不起作用,在将32位补齐后的数就为4294967295(FFFF FFFF)。