関数からchar配列を返そうとしました。私は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;
}
: これは私のコードです!関数呼び出しに2つのエラーがあります。
どのようなエラーが表示されますか? –
関数の暗黙の宣言。そして代入は、キャスト外のポインタromの整数を作る。 –
'main *'の前に 'char * getBinary(int nr、int mask);'というプロトタイプを入れてみてください。 – artm