我的代碼:錯誤消息
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
char * callMe(char *buf_test, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vsnprintf(buf_test, sizeof(buf_test), fmt, ap);
va_end(ap);
return buf_test;
}
int main()
{
char buf_t[100];
int test_flag =1;
buf_t = callMe(buf_t, "Test successful : %d", test_flag);
printf("\n\n Result = %s", buf_t);
}
錯誤:
error: array type 'char [100]' is not assignable
buf_t = callMe(buf_t, "Test successful : %d", test_flag);
~~~~~^
1 error generated.
'的char [100]'不轉讓。你不能指定一個'char [100]'。 –
'sizeof(buf_test)'這將給出指針的大小,而不是數組。瞭解數組和函數。 – 2501
將返回類型更改爲void。 (例如'void callMe(')並刪除'return buf_test;' – BLUEPIXY