我嘗試從函數返回字符數組。我是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