求助 如何实现将char=‘abcd’差分为 a b c d四个char数据?
求助如何实现将char=‘abcd’差分为 a b c d四个char数据? 用指针 啥语言的?很多语言都有字符串相关的函数!一般vb是测长!用循环用中间取一个一个取出来 指针 能否具体点那?新手啊 !对字符指针很不理解! #include "stdio.h"main()
{
int a='ab';
char * pointer1;
int i=0;
pointer1=&a;
for(i=0;i<2;i++)
{
printf("%c\n",*pointer1);
pointer1++;
}
getch();
}
用WIN-TC编译运行结果是输出
a
b char 就是一个指针指向字符串的首元素地址 所以
*char = 'a'
*char+1 = 'b'
*char+2 = 'c'
*char+3 = 'd'
*char+1 跟 *(char+1) 都行 非常感谢 使用A-smith的方法 可以!
另外如何将uint32格式转换为cahr格式在ADS1.2下!谢谢! 强制类型转换 可以隐式转换 也可以直接转换
在要转换的变量前加 (uint8) 就强制类型转换了
uint8 a;
uint32 b;
(uint8)b就是一个 char型变量了
a = (uint8)b; 感谢 A-smith
我现在的做法是 uint32wendu charlcdcode_3[];
c=wendu/1000; //qian wei
d=wendu%1000/100;//bai wei
e=wendu%1000%100/10;//shi wei
f=wendu%1000%100%10;//ge wei
lcdcode_3=c+0x30;
lcdcode_3=d+0x30;
lcdcode_3=0x2e;
lcdcode_3=e+0x30;
lcdcode_3=f+0x30; 回复【6楼】A-smith
char 就是一个指针指向字符串的首元素地址 所以
*char = 'a'
*char+1 = 'b'
*char+2 = 'c'
*char+3 = 'd'
*char+1 跟 *(char+1) 都行
-----------------------------------------------------------------------
解释的好! u32 n = 'abcd';
u8 x;
x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n)); 楼上回答有待商榷
1 首先字符串要用双引号""
2 定义指向字符串的指针 要用char *不能是32位无符号
3 应该是 n 不是 &n 不是字符串,赋值方式只是模仿楼主的方式而已,所以后面两个"有待商榷"也都不成立.楼主既然这样写,肯定是有原因的,就不去计较了,只要解答他的关心的问题就行了.
页:
[1]