簡體   English   中英

memset() 函數輸出不良

[英]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()以字節為單位。 aint ,所以a[2][500]在 32 位機器上,值為 0x03030303 = 50529027

50529037 是 0x03030303。 memset()按字節值設置內存。

memset( ) 逐字節工作,其中僅包括0、1、-1、false、true

參考: GeeksForGeeks

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM