c语言共同体使用时需要声明头文件吗,以下是我的程序,编译时有错误,请指教
voidfloat_char(floatf,uchar*s){unionchange{floatd;uchardat[4];}temp;temp.d=f;*s=temp....
void float_char(float f,uchar *s)
{
union change
{
float d;
uchar dat[4];
}temp;
temp.d = f;
*s = temp.dat[0];
*(s+1) = temp.dat[1];
*(s+2) = temp.dat[2];
*(s+3) = temp.dat[3];
}
void main( )
{float x0;
float_char(x0,uchar *s)
}
编译时总是提示最后一句中:
type error in argument 2 to 'float_char';found 'unsigened char'expected 'pointer to unsigened char' 展开
{
union change
{
float d;
uchar dat[4];
}temp;
temp.d = f;
*s = temp.dat[0];
*(s+1) = temp.dat[1];
*(s+2) = temp.dat[2];
*(s+3) = temp.dat[3];
}
void main( )
{float x0;
float_char(x0,uchar *s)
}
编译时总是提示最后一句中:
type error in argument 2 to 'float_char';found 'unsigened char'expected 'pointer to unsigened char' 展开
5个回答
展开全部
#include <stdio.h>
#include <string.h>
union change
{
float d;
char dat[4];
}temp;
void float_char(float f,char *s)
{
temp.d = f;
*s = temp.dat[0];
*(s+1) = temp.dat[1];
*(s+2) = temp.dat[2];
*(s+3) = temp.dat[3];
}
int main( )
{
char s[4];
memset(s,'c',4);
float f = 1.0;
float_char(f,s);
printf("%.0f\n",temp.d);
printf("%c\n",temp.dat[0]);
printf("%c\n",temp.dat[1]);
printf("%c\n",temp.dat[2]);
printf("%c\n",temp.dat[3]);
getchar();
return getchar();
}
#include <string.h>
union change
{
float d;
char dat[4];
}temp;
void float_char(float f,char *s)
{
temp.d = f;
*s = temp.dat[0];
*(s+1) = temp.dat[1];
*(s+2) = temp.dat[2];
*(s+3) = temp.dat[3];
}
int main( )
{
char s[4];
memset(s,'c',4);
float f = 1.0;
float_char(f,s);
printf("%.0f\n",temp.d);
printf("%c\n",temp.dat[0]);
printf("%c\n",temp.dat[1]);
printf("%c\n",temp.dat[2]);
printf("%c\n",temp.dat[3]);
getchar();
return getchar();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main( )
{float x0;
float_char(x0,uchar *s) //s未定义,调用格式不对, 调用不要加uchar *
}
{float x0;
float_char(x0,uchar *s) //s未定义,调用格式不对, 调用不要加uchar *
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main( )
{float x0;
float_char(x0,uchar *s)
}
{float x0;
float_char(x0,uchar *s)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-11
展开全部
float_char(x0,uchar *s)
uchar *s;
float_char(x0,s)
uchar *s;
float_char(x0,s)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询