| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:c语言指针程序填空。帮我看看
取消只看楼主 加入收藏
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:3 
c语言指针程序填空。帮我看看
#include <stdio.h>
#include<string.h>
void strcpy2(char *s,char *t)
{
    char *p=t;
    while (*s++=*t++);
    s=_____;
    while(_______=*p++);
}

void main()
{
    char str1[100]="abcd",str2[]="efgh";
    strcpy2(str1,str2);
    printf("%s\n",str1);

 程序运行时出现efghefgh ,请问下划线应该填什么?

另外while (*s++=*t++);这个怎么理解?谢谢!
搜索更多相关主题的帖子: c语言 include 下划线 
2011-12-01 23:40
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
回复 3楼 zy_space
第二个地方:*s++
 
while (*s++=*t++);

这个按照你的意思应该是这样?

while (*t)
*s=*t;
s++;
t++;

是这样吗?

2011-12-02 16:03
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
#include <stdio.h>
 #include<string.h>
 void strcpy2(char *s,char *t)
 {
     char *p=t;
     while (*t!='\0');
     {
         *s=*t;
         t++;
         s++;
     }
     s=s-1;
     while(*s++=*p++);
 }
 
void main()
 {
     char str1[100]="abcd",str2[]="efgh";
     strcpy2(str1,str2);
     printf("%s\n",str1);
}
可是写成这样,运行什么也看不到。好像在一直循环
2011-12-02 21:36
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
知道原因了while (*t!='\0');
 这里多了个分号
2011-12-03 01:08
快速回复:c语言指针程序填空。帮我看看
数据加载中...
 
   



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

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