问题描述
我在MikroC中有这个数组:
char array[4] = {'1','1','0','\0'};
我正在尝试获取此数组中的特定元素并将其输出到GLCD上,假设第一个元素。我该怎么做?我知道应该是这样的:
Glcd_Write_Text(array[0],5,4,2);
但是这根本没有输出,或者可能没有任何随机垃圾。因此,我尝试使用如下指针:
Glcd_Write_Text(&array[0],2);
但是它给出了整个数组,我只需要第一个元素。 我也尝试过:
int *v=&array[0];
char y=*v;
但输出y会得到随机垃圾数据。 任何帮助是极大的赞赏。非常感谢。
解决方法
如果Glcd_Write_Text
期望参数为字符串,则不能为它提供指向单个字符的指针。它需要一个以空值结尾的字符串的指针。
声明一个新数组,并将特定元素复制到其第一个字符。
char text[2] = {'\0','\0'};
text[0] = array[0];
Glcd_Write_Text(text,5,4,2);