来帮我看看这段代码

C、C++和Java语言
回复
flyingrobben
帖子: 16
注册时间: 2007-06-26 14:06
送出感谢: 0
接收感谢: 0

来帮我看看这段代码

#1

帖子 flyingrobben » 2007-12-22 22:45

#include<stdio.h>
#include<stdlib.h>
int main ()
{
char *arg;
arg=(char*)malloc(128);
printf(" hello world!\nPlease input your words\n");
scanf("%s",arg);
printf("The word you inputed is %s\n",*arg);
return 0;
}

编译通过 ,但一执行输入字符后就提示"core dumped"
这个问题怎么解决啊?
请热心人指点一二
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15
送出感谢: 0
接收感谢: 0

#2

帖子 iblicf » 2007-12-22 23:22

#include<stdio.h>
#include<stdlib.h>
int main ()
{
char *arg;
arg=(char*)malloc(128);
printf(" hello world!\nPlease input your words\n");
scanf("%s",arg);
printf("The word you inputed is %s\n", arg);
return 0;
}
zabbey
帖子: 296
注册时间: 2006-05-06 2:03
送出感谢: 0
接收感谢: 0

#3

帖子 zabbey » 2007-12-22 23:29

刚给改了一下,LS下手快
#include<stdio.h>
#include<stdlib.h>

int main ()
{
char *arg;
arg = (char*)malloc(128);
printf(" hello world!\nPlease input your words\n");
scanf("%s", arg);
printf("The word you inputed is %s\n", arg);
return 0;
}
flyingrobben
帖子: 16
注册时间: 2007-06-26 14:06
送出感谢: 0
接收感谢: 0

#4

帖子 flyingrobben » 2007-12-23 2:16

晕, 我也刚看到,谢谢指正,多了个星号……
wangqi0021
帖子: 156
注册时间: 2007-09-05 1:09
来自: beijing
送出感谢: 0
接收感谢: 0

#5

帖子 wangqi0021 » 2007-12-26 16:14

代码: 全选

#include<stdio.h>
#include<stdlib.h>
#include <errno.h>

#define OK 0
#define ERROR -1

int main ()
{
char *arg;
arg=(char*)malloc(128);
if(arg=NULL){
      perror("malloc()");
      exit(ERROR);
}
printf(" hello world!\nPlease input your words\n");
if(!scanf("%s",arg)){
        perror("scanf()");
        exit(ERROR);
}
printf("The word you inputed is %s\n", arg);
free(arg);
exit(0);
}
FREE一定不能忘记!!! 这点一定要记住!!另外malloc不一定100%成功分配堆。另外鬼才知道你的128是什么意思。像这种数字使用之前一定要定义成宏来使用。要养成良好的编程风格
digwtx
帖子: 34
注册时间: 2007-11-13 18:44
来自: 广西-柳州-工学院
送出感谢: 0
接收感谢: 0
联系:

#6

帖子 digwtx » 2007-12-30 10:06

典型的指针混乱错误。
写程序得多用点好记的变量名称,最好不要直接拿来数字来用,因为万一你要修改,但是用的次数又很多,那就不好办了。
还有就是要记得写注释,虽然现在你记得是什么意思,但到以后拿出来看,你就不一定知道是什么意思了。
别他妈的不拿PC当回事儿!
回复

回到 “C/C++/Java”