搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 将str1数组中下标为偶数的元素复制给str2,输出时出现错误文字是怎么回事?
标题:
将str1数组中下标为偶数的元素复制给str2,输出时出现错误文字是怎么回事?
只看楼主
无涯汪洋
等 级:
论坛游民
帖 子:19
专家分:34
注 册:2019-3-30
结帖率:
85.71%
楼主
已结贴
√
问题点数: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
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
2
楼
得分:1
字符数组应该初始化 要不然手工在尾部添加\0
DO IT YOURSELF !
2019-04-22 20:25
lizhangyu
等 级:
新手上路
帖 子:6
专家分:1
注 册:2019-4-16
第
3
楼
得分:1
我也是新手,可能不准确,请见谅,我个人觉得 for循环i<len还有循环里面的判断条件改成(i+1)%2=0
2019-04-29 19:15
豆豆的滴
来 自:湖南
等 级:
贵宾
威 望:
33
帖 子:368
专家分:1087
注 册:2018-5-7
第
4
楼
得分:1
for循环的括号呢.......
2019-04-29 19:30
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
得分:1
像這種,不需要用strlen()求長度,直接在循環裏面判斷字符是否'\0'即可。strlen()函數實際上是一個循環,依次查找'\0'字符的,前面調用strlen()已經把字符串循環一次了,後面再循環一次,屬於低效動作。C的字符串操作效率低,是公認的。
使用gets()函數,小心字符串溢出!
授人以渔,不授人以鱼。
2019-04-29 22:20
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-494351-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.962463 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved