char类型保存小整数

也就是说,无论时char型数组还是int 型数组,它们的元素都是存储着一个整数(至少在直接用"="赋值时是这样明显的.(但存储的数字最大值时有别以及每次读写的字节数要注意(尽管数字较小时两者均可胜任存储工作).

#include <stdio.h>
int main()
{
	int m[4];
	char c[4];
	/*格式符%d灰度入4字节(一般的)
	scanf("%d", &m[0]); printf("%c\n", m[0]);
	//如果数字char数组长度不够4,可能导致stack corrupt 
	scanf("%d", &c[0]); printf("%c\n", c[0]);

	scanf("%c", &m[0]);//无法用满一个元素的内存(4字节),只能用到一个字节

	printf("%c\n", m[0]);//%c只能读取一个字符,用一位数去试;(打印第一个字符)
	printf("%d\n", m[0]);//乱七八糟的数*/

	/*char型, 只要数值1字节范围内,就可以1个字节存1个数。
例如:*/
	char s[10] = { 31, 32,33,34,35,36,37,38,39,40 };
	int i;
	for (i = 0; i < 10; i++)
		printf("%d ", s[i]);//在调试的监视窗口中看到s[i]的值包括两部分:十进制的数值+'乱码字符'
	/*打印:31 32 33 34 35 36 37 38 39 40*/

	return 0;
}

在这里插入图片描述

posted @ 2023-03-05 21:11  xuchaoxin1375  阅读(16)  评论(0)    收藏  举报  来源