标题:谁能告诉我为什么这个老是调试不好呢?
只看楼主
SimpleDirect
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2013-3-3
结帖率:50%
已结贴  问题点数:40 回复次数:7 
谁能告诉我为什么这个老是调试不好呢?
#include<stdio.h>
char swap(char *words1,char *words2);
main()
{
    char *arr,*arry;
    char c[]="aChina";
    char put[5];
    for(arr=c,arry=put;arr<(c+5);arr++,arry++){
        swap(arr,arry);
        printf("%s\n",*arry);
    }
}
char swap(char *words1,char *words2)
{
    *words2=*words1+4;
    return *words2;
}
搜索更多相关主题的帖子: arr 
2013-03-12 23:42
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
得分:7 
#include<stdio.h>
#include<stdlib.h>
 void swap(char *words1,char *words2);
int main(void)
 {     
         char c[]="aChina";
     char put[5];
     char *arr=c,*arry=put;
     
     
         swap(arr,arry);
         printf("%s\n",arry);
     
     system("pause");
     return 0;
 }
 void swap(char *words1,char *words2)
 {for(int i=0;i<5;++i)
 {
     *(words2+i)=*(words1+i)+4;
     
        }
 }
//
2013-03-12 23:54
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
得分:7 
学习下,好神奇

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-03-13 13:28
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
得分:7 
2楼的程序貌似有问题,明天再说吧,宿舍快停电了
2013-03-13 22:26
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:7 
宿舍还 停电?

仰望星空...........不忘初心!
2013-03-14 01:47
linjxwell
Rank: 2
等 级:论坛游民
帖 子:12
专家分:40
注 册:2013-3-14
得分:7 
#include<stdio.h>
char swap(char *words1,char *words2);
main()
{
    char *arr,*arry;
    char c[]="aChina";
    char put[5];
    for(arr=c,arry=put;arr<(c+5);arr++,arry++){
        swap(arr,arry);
        printf("%s\n",*arry);
    }
}
char swap(char *words1,char *words2)
{
    *words2=*words1+4;
    return *words2;
}


输出单个字符?用%c吧。
2013-03-14 10:56
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
得分:0 
楼主把题意说具体下呗
2013-03-14 21:43
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:7 
#include<stdio.h>
char swap(char *words1,char *words2,int n);//增加个n控制*(words1+n),防止数组越界
int main()
{
    int num;//为了得到作为n的实参的值而存在
    char *arr,*arry;
    char c[]="aChina";
    char put[6]={'0'};//楼主给数组长度为5,这里最好赋初值并且多申请一个空间放结束标志'\0'
    put[6]='\0';//这是告诉char指针结束
    for(arr=c,arry=put,num=0;arr<(c+5);arr++,arry++,num+=2)
    {
        swap(arr,arry,5-num);//给传5-num是控制*(words1+n)在合理范围内
        printf("%s\n",arry);//用%s输出char指针类型,就不用加*了,给指针的首地址就行
    }
    return 0;
}
char swap(char *words1,char *words2,int n)
{
    *words2=*(words1+n);
    return *words2;
}

//我理解的楼主的意思是让*arr中的值倒着输出……
2013-03-15 00:24



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




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

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