C语言数组问题
一直以来,自以为C语言用得还算熟悉,没想到今天居然碰壁了,看来又得去复习一下基础。今以此文为备忘。
1 int main(void) 2 { 3 char *buf = "1102.453"; 4 char a[8]; 5 memcpy(&a+3, buf + 3, 1); 6 printf("%c\n", a[3]); 7 return 0; 8 }
以上一小段代码的问题在于memcpy的第1个参数,由于a已经是一个数组,因此&a+3为a[24]的地址了。
此结果已与原想法相去极远。正确的写法应该是a+3。一个极小的问题,但却花掉一些时间去调试。
posted on 2013-08-29 13:40 linxiaoqun 阅读(202) 评论(0) 收藏 举报
浙公网安备 33010602011771号