level 3
#include <stdio.h>
void P(unsigned char *puf,unsigned char len)
{
while (len--)
{
*puf = len;
printf("%d,%d\n",*puf,len);
puf++;
}
}
void main(void)
{
unsigned char e,*buf,mc[5];
buf = &mc[0];
e = 5;
P(*buf,e);
}
有没有更好的实现方法,谢谢。
2016年04月14日 16点04分
1
level 12
这样的函数名和变量名,你自己能懂别人看得懂吗。也不知道你要实现什么
2016年04月14日 17点04分
2
我认为,从语法叫,我的函数名和变量名是没有问题的,只是比较简略。
2016年04月14日 20点04分
至于我要实现什么,这不是我想要只道的重点,我只想知道我写的这个为什么不能运行,错在哪,有没有什么语法错误。
2016年04月14日 20点04分
其实这个程序是要实现一个带参涵(指针),我只是随便写了过赋值程序。我提问太简略了,你可能没有明白我的意思。
2016年04月14日 21点04分
回复 残月tc9 :不好意思,习惯了oc开发的命名习惯。方你一个工程几百上千个函数的时候,你就回想起我说的。命名多么重要
2016年04月14日 23点04分
level 12
那就就是论事吧,你参数传递错误,while那是想让指针自加并且让数组依次存放5到1吧。你应该把地址传过去,而不是地址里的值。数组本身也是地址,光要实现数组的存值那么把数组名传过去,对数组的地址进行操作就好了
2016年04月14日 23点04分
4
是呀,刚改了下,成功了,对数组和指针的理解还不足呀,还在照葫芦画瓢。
2016年04月14日 23点04分
回复 残月tc9 :可喜可贺,我对c的理解也只限于一些简单的运算,没有深入研究.因为最近在学习oc语言,面向对象的,用到c的不多,了解一些if else for这些就行。所以当你若只是以c作为其他语言编程基础,也不用考虑这么深
2016年04月14日 23点04分
@末来很美好 学c也出于兴趣,想着学会c其他的就好理解了
2016年04月14日 23点04分