| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:额 这是什么错误
只看楼主 加入收藏
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
收藏
得分:0 
回复 5楼 hejian11
谢谢你的程序,不过我还是想知道原来那些语句都错在哪里
2012-10-26 18:03
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
收藏
得分:0 
#include<stdio.h>
#include<string.h>

void fun(char *w,int n)
{
    char t,*s1,*s2;  
    s1=w;            
    s2=w+n-1;         
    while(s1<s2)    {   
        t=*s1;      
        *s1=*s2;   
        *s2=t;  
        s1++;
        s2--;   
    }
}
int main()
{
    char str[20];
    printf("please input numbers:\n");
    scanf("%s",str);
    char *p;
    p=str;      
    fun(p,strlen(p));
    puts(p);
    return 0;
}
这是我自己改的程序,我知道错哪了 ,
错误1:
        t=*s1++;      
        *s1=*s2--;   
        *s2=t;
因为s1是字符串的首地址,s1到s2中都是属于字符串的内存  所以他们不能当char来赋值
修改方法
创建数组接受字符串,串字符的首地址就可以了
错误2:
        t=*s1++;      
        *s1=*s2--;   
        *s2=t;
逻辑性错误
        t=*s1;      
        *s1=*s2;   
        *s2=t;  
        s1++;
        s2--;
改成这样就可以了
还有就是思想很乱 谢谢一个孩子提供的代码
2012-10-26 18:43
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
收藏
得分:0 
回复 6楼 一个孩子
不过我还有个不懂
传参传的是str字符数组的首地址 但是接收的是一个字符数组 ,为什么能行
额 那是不是字符数组的指针 能接受一个 字符数组

[ 本帖最后由 xtjopt 于 2012-10-27 15:40 编辑 ]
2012-10-26 18:46
快速回复:额 这是什么错误
数据加载中...
 
   



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

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