| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2296 人关注过本帖
标题:自认为完美的程序序,结果却出人意料,错在哪?望各位多多指教.
只看楼主 加入收藏
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
回复楼上
什么意思呢?

在虚拟的世界中寻找目标。
2008-05-21 22:01
boy443047409
Rank: 1
来 自:安康
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-22
收藏
得分:0 
回复 1# 的帖子
你试一下
我没有用你的文章,这是我自己写的, 你可以看一下;  我想问你一下,你那程序是不是死循环?  

  void mian()

{char a[i][j];

int i,m=0,j;

for(i=0;i<100;i++)              /*  一句话应该用不了100个单词吧*/

     {printf("input a word:");

       scanf("%s",a[i]);

      m++;

        if(a[i]=="")

       break;}

     for(i=m;i>=0;i--)

       printf("%s   ",a[i]);}

玩转 C   语言
2008-05-22 00:53
zanxym
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-22
收藏
得分:0 
回复 1# 的帖子
我来试试好不好!自己想的错了别笑啊!嘿嘿!
#include<stdio.h>
#include<string.h>
#define N 100
#define N_1 3
void main()
{char c[N],c_1[N_1][N];
 int i,j,n;
 c=gets();
 for(i=1,j=0,n=0;c[i-1]!='\0';i++,j++)
   {c_1[n][j]=c[i-1];
    if(c[i]='\0')
     { n++;
       j=0;
      continue;
      }
    }
for(n=N_1,n>=0;;n--)
  {puts(c_1[n]);
   printf('\0');
  }
}
累啊!!!!!!!!!!!
2008-05-22 01:22
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
printf("%s",str[k]);

我可没有看到你给str[i]的最后加'\0',那么它不会是字符串,你用这个输出应该是不对的。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-22 09:30
jiang5495
Rank: 1
等 级:新手上路
威 望:2
帖 子:296
专家分:0
注 册:2008-5-11
收藏
得分:0 
首先感谢谢大家的真诚指教。
第八楼的朋友,说中了要害,我程序的主要毛病再于,没有给使j重新团置为0。
还有其它朋有的说法也很有见地,让我学到了很多新知识,不甚感激!
我已把程序修改,并且成功运行了,和大家分享,下面是我的程序。
# include<stdio.h>
# define N 100
void main()
{
char str[N][N]={0};
int i,j=0,k;
for(i=0;;i++)
{
 j=0;/*这一步很重要*/
while(1)
{
str[i][j++]=getchar();
if(str[i][j-1]==' ')
break;
if(str[i][j-1]=='\n')
goto ab;
}
}
ab:str[i][j-1]=' '; /*这也很重要*/
for(k=i;k>=0;k--)
printf("%s",str[k]);
getch();
}
2008-05-22 10:33
sanas
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-5-14
收藏
得分:0 
for(k=i-2;k>=0;k--)
printf("%s",str[k]);


主要的这个输出不了,你打印的是字符串,结果是单个字符,虽然看起来是没问题,但是运行的时候就输出不了结果。
直接printf("%s",*str);这样就好
2008-05-22 16:31
sanas
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-5-14
收藏
得分:0 
好像我想简单了。。。。
2008-05-22 16:36
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
#include <iostream>
#define N 1000
char str[N];

int main()
{
    while (gets(str) != NULL)
    {
        int i=0;
        char *end=str+strlen(str);
        while (end != str)
        {
            if (*end--==' ')
                {if (i!=1)fwrite(end+2,1,i,stdout),i=1;}
            else i++;
        }
        fwrite(str,1,i,stdout);
        putchar('\n');
    }
}

随便写了个,不知道有没有Bug……

[[it] 本帖最后由 StarWing83 于 2008-5-22 17:09 编辑 [/it]]

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-22 17:06
jinboagg
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-9
收藏
得分:0 
程序从来就没有完美的,提问要谦虚,不要认为自己。。。。。。
2008-05-25 13:48
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
完美,我没有读完,看到void main和goto我就吐了,胃不好,不好意思啊,我吐完再看
2008-05-25 17:08
快速回复:自认为完美的程序序,结果却出人意料,错在哪?望各位多多指教.
数据加载中...
 
   



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

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