c和gets如何覆盖下一个数组[重复]

问题描述 投票:0回答:0
 `  
    int main(){
    char a[10];
    char he[10]="hello";
    char c[10]="password";
    printf("please enter a string:\n");
    scanf("%s",a);
    printf("your string is :%s\n",a);
    printf("your string is :%s\n",he);
    printf("your string is :%s\n",c); 
    }
 `

我看了一些关于 scanf 和 gets 函数漏洞的视频,当我 看到有人输入的字符数大于数组a的大小,剩下的
字符覆盖下一个数组,但在我的程序中不是这种情况所以我想知道为什么?

arrays c memory scanf gets
© www.soinside.com 2019 - 2024. All rights reserved.