| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:循环哪里出错了
只看楼主 加入收藏
xu362726904
Rank: 6Rank: 6
等 级:侠之大者
帖 子:160
专家分:471
注 册:2009-6-18
收藏
得分:0 
#include<stdio.h>
#include<string.h>
void main()
{
    char str[200];
    int c,i;
    gets(str);
    c=strlen(str);
    printf("原字符为:%s\n",str);
    for(i=c-1;i>=0;i--)
    printf("%c",str[i]);
   
}
2009-11-10 20:45
iaamjerry
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-3
收藏
得分:0 
10楼滴,
char str[200];
int c,i;
int temp;
gets(str);
c=strlen(str);
printf("原字符为:%s\n",str);
for(i = 0;i < c;i++ , c--)
{
  temp = str[i] ;
  str[i] = str[c-1];
  str[c-1] = temp;
}
printf("倒序后字符:%s\n",str);

最后一个字符是str[c-1],不是str[c]。
2009-11-10 21:13
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
以下是引用iaamjerry在2009-11-10 21:13:34的发言:

10楼滴,
char str[200];
int c,i;
int temp;
gets(str);
c=strlen(str);
printf("原字符为:%s\n",str);
for(i = 0;i < c;i++ , c--)
{
  temp = str ;
  str = str[c-1];
  str[c-1] = temp;
}
printf("倒序后字符 ...
说说为什么是c-1?而不是c?

要练习算法就来http:///!!有挑战哦!!
2009-11-10 21:15
iaamjerry
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-3
收藏
得分:0 
回复 11楼 xu362726904
不错!
2009-11-10 21:15
iaamjerry
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-3
收藏
得分:0 
回复 13楼 viky2003
因为第一个字符从0开始啊
2009-11-10 21:16
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
以下是引用lixingxing52在2009-11-10 20:28:43的发言:

for (;c>i;c--,i++)
            temp = str[c-1], str[c-1] = str,str = temp; //  想交换两个字符必须要有中间变量,(位运算除外)
            printf("%s",str);
 根据我的测试,这段没什么用啊·
  可以删除· ...
引起来的是一种方法,外面的是一种方法···
2009-11-10 21:19
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
以下是引用iaamjerry在2009-11-10 21:16:44的发言:

因为第一个字符从0开始啊
,strlen的长度不包含\0,这个是常识。
大概代码如下:
int strlen(char *s)
{
 char * start = s;
 while(*s ++ != '\0')
       ;
  return s - start;
}

要练习算法就来http:///!!有挑战哦!!
2009-11-10 21:20
快速回复:循环哪里出错了
数据加载中...
 
   



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

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