在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ c語言字符數(shù)組溢出不報(bào)錯(cuò)

c語言字符數(shù)組溢出不報(bào)錯(cuò)

#include <stdio.h>
void f(void){
    char a[8];
    char b[8];
    scanf("%s",a);
    scanf("%s",b);
    printf("%s##%s##\n",a,b);
} 
int main(void){
    f();
    return 0;
} 

初學(xué)c語言
代碼如上,我定義了了兩個(gè)長(zhǎng)度為8的字符數(shù)組。但是當(dāng)我輸入長(zhǎng)度超過8的字符時(shí),為什么依然可以正常輸出。
例如我輸入"123123123 123123123",pirntf出來就是"123123123##123123123##",指定的位數(shù)沒有效果。
請(qǐng)前輩指教。

回答
編輯回答
吢涼

因?yàn)閏語言本身是沒有數(shù)組溢出檢查的,scanf并不知道你定義的數(shù)組是多大,對(duì)f函數(shù)來說,只要不超過給它分配的棧大小就不會(huì)報(bào)錯(cuò)。

2017年8月6日 19:42