标题:函数参数值调换与指针
只看楼主
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:0 
这样就可以啦

#include<stdio.h>

void s(char *x,char *y)
{
    char t;

    t=*x;
    *x=*y;
    *y=t;
}
void main()
{
    char p1[] = "abc", p2[] = "123";
    char *s1 =p1, *s2 = p2;


    s(s1,s2);
    //printf("%c %c\n",*s1,*s2);
    printf("%s %s\n",s1,s2);
}
2010-03-23 21:29
taomei006
Rank: 1
来 自:安徽铜陵学院
等 级:新手上路
帖 子:52
专家分:0
注 册:2009-9-11
得分:0 
好难啊。这些模拟题就是比真题怪。
2010-03-23 21:38
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
得分:0 
你在做二级题吧,是因为现在的C编译的工具有很多,对于C的处理有差异,所以可能出现很多在一个编译器能运行,到另一个就不能了。不过二级是用VC++6.0,所以你还是以这个做练习。

坚持做对的事情,而不是容易的事情。
2010-03-23 21:41
阿邋
Rank: 2
等 级:论坛游民
帖 子:84
专家分:41
注 册:2009-3-6
得分:4 
void s(char *x,char *y)
{
    char t;

    }

这个函数有问题啊!
    t=*x; // *x = “abc”,而你只用一个 *x 赋值 给 t ,而 t 只能 接收一个字节而已,肯定会溢出
    *x=*y;
    *y=t;

我并不具有我想要的一切,只是我所有的都是我想要的!
2010-03-23 23:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-300326-1-1.html




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

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