我尝试从函数返回字符数组。我是C新手,并尝试学习函数返回值。 这是我的代码:函数返回字符数组C
int main()
{
unsigned int nr;
unsigned int mask=32;
char *outString;
printf("Enter Nr:\n");
scanf("%u",&nr);
outString = getBinary(nr,mask);
printf("%s",outString);
//getch();
return 0;
}
char * getBinary(int nr,int mask)
{
static char outPut[sizeof(mask)]="";
while(mask>0)
{
if((nr&mask)==0)
{
strcat(outPut,"0");
}
else
{
strcat(outPut,"1");
}
mask=mask>>1;
}
//printf("%s",outPut);
return outPut;
}
我不能让程序工作!有两个函数调用错误。
你得到什么错误? –
函数的隐式声明。并赋值使指针ROM整数与一个铸造。 –
试着把一个'char * getBinary(int nr,int mask)'原型放在'''' – artm