搜索

c编译的错误

查看数: 2438 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-3-28 17:38

正文摘要:

win7,64位,编译的时候出现这样的错误

回复

null2013 发表于 2013-3-29 21:55:40
奥澳  我看看!
啊哈磊 发表于 2013-3-29 16:25:32
getchar(); 是读取一个字符,看看你是不是杀毒软件的问题啊
rosynirvana 发表于 2013-3-28 19:58:44
本帖最后由 rosynirvana 于 2013-3-28 20:05 编辑

a不是一个字符串
C语言的字符串是一个含有'\0'的字符数组

%s要求后面的参数是个char *类型的,而a是int类型的
编译器可能会试图将int转换成char *类型(不想去查标准了……),然后访问了一个非法的内存地址

你可以看看错误信息
在我这里错误代码是c0000005,也就是访问越界了,访问了非法的内存地址

如果说这个该怎么写

putchar(getchar());
就行了
null2013 发表于 2013-3-28 18:04:53
null2013 发表于 2013-3-28 18:04
#include
int main()
{

就是这样的
null2013 发表于 2013-3-28 18:04:33
rosynirvana 发表于 2013-3-28 17:56
估计是你的代码里访问了非法的内存地址

代码贴出来看看吧

#include <stdio.h>
int main()
{
    char a;
    a=getchar();
    printf("%s",a);
       
}
rosynirvana 发表于 2013-3-28 17:56:02
估计是你的代码里访问了非法的内存地址

代码贴出来看看吧
快速回复 返回顶部 返回列表