| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 648 人关注过本帖
标题:高手帮忙看一下哪里不对 这个能编译出来 但是执行错误
只看楼主 加入收藏
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
结帖率:92.86%
收藏
 问题点数:0 回复次数:9 
高手帮忙看一下哪里不对 这个能编译出来 但是执行错误
#include <stdio.h>

char *expand(char *s, char *t);

void main()
{

char *s="abcd";
char *t="vv";
s=expand(s, t);
printf("%s", s);
getchar();
}

char *expand(char *s, char *t)
{
int i, j;
char *p;
for(i=j=0;s[i]!='\0';i++)
switch(s[i])
{
case '\n':  t[j++]='\\'; t[j++]='n'; break;
case '\t':  t[j++]='\\'; t[j++]='t'; break;
default : t[j++]=s[i]; break;
}
t[j]='\0';
p=t;
return(p);
}
搜索更多相关主题的帖子: return default include 
2015-07-29 11:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
这错误也太多了
程序代码:
#include <stdio.h>

char* expand( const char* src, char* dest );

int main( void )
{
    const char* s = "a\tb\n";
    char t[100];
    printf( "%s\n", expand(s,t) );

    return 0;
}

char* expand( const char* src, char* dest )
{
    char* p = dest;
    for( ; *src; ++src )
    {
        switch( *src )
        {
        case '\n':
            *p++ = '\\';
            *p++ = 'n';
            break;
        case '\t':
            *p++ = '\\';
            *p++ = 't';
            break;
        default:
            *p++ = *src;
        }
    }
    *p = '\0';
    return dest;
}

2015-07-29 11:18
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
厉害!!!!   我想问问 *src指向是什么??  因为他指的也是一个指针来的 搞不懂这里??   还有为什么要这个char* p = dest;   我试了试  不要的话可以编译 但是执行没结果  这是为什么呢??   麻烦啦  谢谢哦

不要不要的。。。
2015-07-29 17:43
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 2楼 rjsp
厉害!!!!   我想问问 *src指向是什么??  因为他指的也是一个指针来的 搞不懂这里??   还有为什么要这个char* p = dest;   我试了试  不要的话可以编译 但是执行没结果  这是为什么呢??   麻烦啦  谢谢哦

不要不要的。。。
2015-07-29 17:44
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
不能返回局部变量的地址

一片落叶掉进了回忆的流年。
2015-07-29 18:01
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 5楼 诸葛欧阳
里面没有返回p的地址啊 是dest的啊  我是说为什么还要定义一个指针p  直接用dest这个来操作不行么   为什么不行??

不要不要的。。。
2015-07-29 18:06
实际应用
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:89
专家分:341
注 册:2015-5-30
收藏
得分:0 
直接用dest这个来操作也行, 但要当作数组来处理,需要下标
2015-07-29 21:36
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 7楼 实际应用
他在函数定义时  是被定义成指针了呢  怎么说要当成数组来使用???      

不要不要的。。。
2015-07-30 00:09
luoye1994
Rank: 2
等 级:论坛游民
帖 子:57
专家分:58
注 册:2015-6-29
收藏
得分:0 
你这个想表达的意思是什么
2015-07-30 09:28
实际应用
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:89
专家分:341
注 册:2015-5-30
收藏
得分:0 
回复 8楼 露营地
字符指针可以当数组用,
不这样的话直接改变dest,就不知道开始位置
2015-07-30 21:40
快速回复:高手帮忙看一下哪里不对 这个能编译出来 但是执行错误
数据加载中...
 
   



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

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