現在我正在嘗試創建一個函數,它接受一個字符串和一個字符的長度,並且它應該輸出x個字符。根據z的長度返回x個y字符的數量
例如:
// char *string = "Hello"; (not actual code)
get_chars(strlen(string), "*"); // #=> *****
但我不斷收到轉換錯誤,我根本無法找到一個解決問題的辦法。我使用的功能是:
char
*get_chars(int number, char *ch)
{
int i = 0;
char buffer[number];
for (i; i < number; i++)
{
buffer[i] = ch;
}
return buffer;
}
其中,調用時,產生:
assignment makes integer from pointer without a cast
'buffer [i]'是'char','ch'是'char *',這個賦值是不兼容的。也許你的意思是'ch [0]'。但是在任何情況下,你都試圖返回一個指向數組的函數返回的指針,這個計劃永遠不會工作。 –
是的,該函數在被調用之前被聲明。它如何被破壞? –
當您在'{}'內聲明變量時,該變量在執行退出該範圍時被銷燬。 –