当前位置: 代码迷 >> C语言 >> [求助]如何返回数组?
  详细解决方案

[求助]如何返回数组?

热度:184   发布时间:2005-12-02 10:39:00.0
[求助]如何返回数组?

返回一个用条件编译的数组,输出不正确,我该怎么改?
#include<stdio.h>

#define ABC_C33

unsigned char *condition(void);

void main()
{
unsigned char *mat;
int n;
char buf[16];
mat=condition();
for(n=0;n<16;n++) {
buf2[n]=* mat++;
printf("0x%02x,",buf[n]);
}
}
unsigned char *condition(void)
{
#ifdef ABC_C33
unsigned char ABC_33[16] = {
0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00
};
return &ABC_33[16];
#endif
}

[此贴子已经被作者于2005-12-2 10:43:47编辑过]

搜索更多相关的解决方案: include  如何  

----------------解决方案--------------------------------------------------------
大虾,你先帮忙把我下面的问题解决下好不,谢谢了!
给一个不多于5位的正整数,要求:1、求出它是几位数?2、分别打印出每一位数字;3、按逆序打印出各位数字,例如原数为321,应输出123。


----------------解决方案--------------------------------------------------------
unsigned char *condition(void)
{
#ifdef ABC_C33
unsigned char ABC_33[16] = {
0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00
'\0'};
#endif
return &ABC_33[16];
}
----------------解决方案--------------------------------------------------------
这个是什么意思?
能解释一下吗?
数组只有16个数据,现在不变成17个啦?
----------------解决方案--------------------------------------------------------
字符数组接受单个字符来组成字符串时必须要有字符串的结束标志'\0',否则不认为是字符串,除非是以字符串的形式。
char a[10]={'a','b','c','d','\0'}
char a[10]={"abcd"}
----------------解决方案--------------------------------------------------------
可我的数据不是字符,是以0x开头的16进制数表示的数据
----------------解决方案--------------------------------------------------------
那它可是一个整数常量,应该定义无符号整型数组,而不是字符数组
----------------解决方案--------------------------------------------------------
我换了,好像也不行,能再帮我看看吗?
----------------解决方案--------------------------------------------------------
输出的数据是这样的:
0xffffff80,0xffffff80,0xffffffe4,0xffffffbc.....
----------------解决方案--------------------------------------------------------
return ABC_33;

返回首址,还有这个什么条件编译这么用怪怪的:)
----------------解决方案--------------------------------------------------------
  相关解决方案