读书人

关于缓冲区溢出的有关问题

发布时间: 2012-06-10 14:03:15 作者: rapoo

关于缓冲区溢出的问题
http://blog.sina.com.cn/s/blog_49d06fc30100gw6s.html

看上面blog的一个关于缓冲区溢出的简单例子..但是发现

调试的时候.access变量的内存地址并没有被污染

当然代码我改写成了用c的方式

C/C++ code
#include <stdio.h>#include <string.h>void input(){    int a[10];        char password[4];    int access = 0 ;    printf("输入密码");    printf("%p",&access);    scanf("%s",&password);        if(strcmp(password,"1998")==0)    {        access = 1;    }    if(access != 0)        printf("登录成功");    else        printf("登录失败");    printf("%p",&access);}int main(){    input();}



[解决办法]
scanf("%s",password);

[解决办法]
scanf("%s",&password);你这句话的意思是把字符串 读入到了password这个数组名中,改成 scanf("%s",password);就行的表示读到数组中!

读书人网 >C语言

热点推荐