关于嵌入式单片机 汇编c语言 有关于 char 数组 字符串 和 字符数组的问题

单片机keil4 89c51编译器中,先定义
uchar pw[8]={1,2,3,4,5,6,7,8};
uchar ppw[8]="12345678";
uchar pppw[8]={1,2,3,4,5,6,7,8};

运行函数

for(i=0;i<8;i++){
if(pw[i] == ppw[i]){
flag=1;
}
if(pw[i] != ppw[i]){
flag=0;
}
}

得到flag=0;
但是把ppw[]换成pppw[8],flag==1;
求助为何拿字符串中的字符按顺序与字符数组中的字符 比较,会得出不一致的结果?
用LCD1602的 LcdWriteData();函数实验
LcdWriteData('1'); 屏幕显示 1(代表取1的编码)
LcdWriteData(pw[0]); 屏幕显示不可识别符号 pw[0]指向数组中的 1
LcdWriteData(ppw[0]); 屏幕显示 1

这是为啥,

uchar ppw[8]="12345678"; //这里数字是字符串,其值为0x31,0x32.....
uchar pppw[8]={1,2,3,4,5,6,7,8}; //这里数字是数值,其值为0x01,0x02.......
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜