| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1213 人关注过本帖
标题:请看看我的程序问题在哪(somebody help me,please)
只看楼主 加入收藏
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
楼主用gets(string1);和 gets(string2);存储输入的字符串,想没想过存到哪里去了?
string1没有初始化,值是随机的,这叫野指针赋值,很容易破坏内存中的数据。
建议搞清楚指针和数组的区别。不懂指针不要乱用,c给了你管理内存的权力你就要负责任。
2007-07-29 22:55
jianweichief
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-7-18
收藏
得分:0 
gets()函数能返回地址给string1和string2;当然也可以赋值;

2007-07-30 20:18
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用百年不亮在2007-7-29 22:45:00的发言:
字符串拷贝的我以前回复了两次,找出来贴给你参考:
#include<string.h>
#include<malloc.h>
#include<stdio.h>

char * Mystrcat(char * str_1,char *str_2);
int main()
{
char *string;
string = Mystrcat("hello ","word");
puts(string);
return 0;
}

char * Mystrcat(char * str_1,char *str_2)
{
char *array,*ptr;

ptr=array=(char *)malloc(strlen(str_1)+strlen(str_2) +1);
while(*ptr++ = *str_1++) ;
ptr--;
while(*ptr++ = *str_2++) ;

return array;
}

字符串包含'\0'


2007-07-30 20:47
anelwl
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-26
收藏
得分:0 
回复:(jianweichief)gets()函数会自动返回一个地址...
对,stringcat函数里的 printf("%s",str1);应该是printf(“%s\n”,str1-c);(因为在stringcat函数里,str1的内存地址已经通过str++这条语句指向了str+c的内存地址)
或者stringcat函数里不写这条语句,在main()函数里加上printf("%s",str1);

[此贴子已经被作者于2007-7-30 20:58:26编辑过]


2007-07-30 20:54
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
确实是我的疏忽,以前贴了几次都没有人告诉我,谢谢我不是郭靖
2007-07-31 10:01
jianweichief
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-7-18
收藏
得分:0 
maoguoqing大人已经告诉我应该输出str1-c了,我也觉得应该这样做。可问题是加上-c后编译报错,程序我已经写好了,现在我只想和大家探讨出错的原因,请大家踊跃发言

[此贴子已经被作者于2007-7-31 16:25:53编辑过]


2007-07-31 16:24
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

他抱的什么错你说一下,因为我寝室电脑装系统后没安装VC


天行健,君子以自强不息!!QQ:68660681
2007-08-01 00:58
jianweichief
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-7-18
收藏
得分:0 

说未定义的符号c出现在stringcat函数中,我用的是win-tc


2007-08-02 19:36
快速回复:请看看我的程序问题在哪(somebody help me,please)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021524 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved