unsigned char 类型的数据似乎不能用作赋值的量
起初我以为给unsigned char类型的数组赋值也要用unsigned char类型的变量才行
#include<stdio.h>
#include<stdlib.h>
int main()
{
unsigned i=0;
unsigned char str[256];
printf("|%d|\n", i);
for (i = 0; i < 256; i++) {
str[i] = i;
}
printf("%d,%d,%d", str[0],str[1],str[2]);
return 0;
}
这样的话下面的printf无论以%d,%c,%x都无法输出
但是把unsigned char i改成int i 以后就可以输出了
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
unsigned char str[256];
printf("|%d|\n", i);
for (i = 0; i < 256; i++) {
str[i] = i;
}
printf("%d,%d,%d", str[0],str[1],str[2]);
return 0;
}
下面的printf的输出结果为1,2,3