編譯器警告 (層級 4) C4295
'array' :陣列太小,無法包含終止的 Null 字元
陣列已初始化,但陣列中的最後一個字元不是 Null;以字串身分存取數位可能會產生非預期的結果。
範例
下列範例會產生 C4295。 若要修正此問題,您可以宣告較大的陣列大小、從初始化表達式字元串保留終止 Null,或者您可以使用數位初始化表達式清單,讓意圖清楚指出這是 的數位 char
,而不是以 Null 終止的字元串。
// C4295.c
// compile with: /W4
int main() {
char a[3] = "abc"; // C4295
char b[3] = {'d', 'e', 'f'}; // No warning
a[0] = b[2];
}