| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 609 人关注过本帖
标题:将str1数组中下标为偶数的元素复制给str2,输出时出现错误文字是怎么回事?
只看楼主 加入收藏
无涯汪洋
Rank: 2
等 级:论坛游民
帖 子:15
专家分:34
注 册:2019-3-30
结帖率:80%
  已结贴   问题点数:2  回复次数:4   
将str1数组中下标为偶数的元素复制给str2,输出时出现错误文字是怎么回事?
#include<stdio.h>
#include<string.h>
void main()
{
int len,i,j=0;

        
        
char str1[50],str2[50];
gets(str1);
len=strlen(str1);
for(i=0;i<=len;i++)
if(i%2==0)
    {str2[j]=str1[i];
       j=j+1;}
    puts(str2);
     
     
     }
搜索更多相关主题的帖子: 数组 输出 出现 错误 文字 
2019-04-22 20:18
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:399
帖 子:13400
专家分:51686
注 册:2012-10-18
  得分:1 
字符数组应该初始化 要不然手工在尾部添加\0

DO IT YOURSELF !
2019-04-22 20:25
lizhangyu
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2019-4-16
  得分:1 
我也是新手,可能不准确,请见谅,我个人觉得   for循环i<len还有循环里面的判断条件改成(i+1)%2=0
2019-04-29 19:15
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:360
专家分:1054
注 册:2018-5-7
  得分:1 
for循环的括号呢.......
2019-04-29 19:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25861
专家分:48889
注 册:2011-6-22
  得分:1 
像這種,不需要用strlen()求長度,直接在循環裏面判斷字符是否'\0'即可。strlen()函數實際上是一個循環,依次查找'\0'字符的,前面調用strlen()已經把字符串循環一次了,後面再循環一次,屬於低效動作。C的字符串操作效率低,是公認的。

使用gets()函數,小心字符串溢出!

授人以渔,不授人以鱼。
2019-04-29 22:20
快速回复:将str1数组中下标为偶数的元素复制给str2,输出时出现错误文字是怎么回 ...
数据加载中...
 
   



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

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