[英]memset() function outputs undesirably
這是我的問題的屏幕截圖。
代碼是
#include <bits/stdc++.h>
using namespace std;
int a[6][500], b[6][500];
int main()
{
memset (a, 3, sizeof a);
memset (b, -1, sizeof b);
cout << a[2][50] << ' ' << b[2][50] << endl;
return 0;
}
我不明白為什么 a[2][500] 顯示 50529027。誰能告訴我這兩個 memset() 調用之間有什么區別?
memset()
以字節為單位。 a
是int
,所以a[2][500]
在 32 位機器上,值為 0x03030303 = 50529027
50529037 是 0x03030303。 memset()
按字節值設置內存。
memset(
) 逐字節工作,其中僅包括0、1、-1、false、true 。
參考: GeeksForGeeks
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.