| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:C语言新手,一个简答的问题,求大神指导
只看楼主 加入收藏
木头羊W
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-8-26
收藏
 问题点数:0 回复次数:2 
C语言新手,一个简答的问题,求大神指导
请编写函数fun,其功能是将形参s所指字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。
#include  <stdio.h>
#define    N    20
void NONO();
void  fun( char  *a , char  *s)
{int i;
for(i=0;i<N;i++)
a[i]=s[i];


}
main()
{  char  s1[N],  *s2="abcdefghijk";
   fun( s1,s2);
   printf("%s\n", s1);
   printf("%s\n", s2);
   NONO();
}

这个fun有错吗?然而我得到题目的结果
搜索更多相关主题的帖子: include C语言 字符串 
2015-08-26 18:23
ZZL_1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-6-22
收藏
得分:0 
a[i]前面应该要加“*”解引用
2015-08-26 18:54
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 
函数fun基本上是对的,只是没有注意到边界问题,
程序代码:
#include  <stdio.h>
#define    N    20
//void NONO();//??????
int main()
{
   char  s1[N],  *s2 = "abcdefghijk";
   void  funcopystr( char  *dest ,const char  *src);//函数调用前声明函数,因为很难保证函数的定义永远在调用的前面。
       
   funcopystr( s1,s2);
   printf("%s\n", s1);
   printf("%s\n", s2);
   //NONO();//??????
   return 0;
}


void  funcopystr( char  *dest ,const char  *src)//对于不需改变的参数添加const修饰,是应该养成的好习惯,函数名,变量名要有意义,如果要想做程序员,好的编程格式是必须的。
{
    int i;

    for(i=0;i<N;i++)
    {
       dest[i]=src[i];
       if(dest[i]=='\0') break;//if(dest[i]=='\0') retrun;//串src结束时退出循环或者退出函数
    }

    dest[N-1]='\0';//串src超长时在末尾添加串结束标志'\0',实际上截断了src,为了保证dest中是一个字符串结构。

    return;
}
2015-08-26 20:42
快速回复:C语言新手,一个简答的问题,求大神指导
数据加载中...
 
   



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

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