| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:帮下忙!实在是找不出哪儿有错误?
只看楼主 加入收藏
wulang327
Rank: 1
来 自:大连
等 级:新手上路
帖 子:59
专家分:1
注 册:2008-1-29
收藏
 问题点数:0 回复次数:9 
帮下忙!实在是找不出哪儿有错误?
#include <stdio.h>
 int i,j; char array[100];
 main(){ scanf("%s",array);
     printf("%s\n",array);
     j=strlen(array);
     f();
       }
 f(){ char a[100];
 for(i=0;i<=j;i++,j--)
  a[i]=array[j];
  printf("%s\n",a);
      }
不知道哪儿出了错误
函数f()的结果输不出来
结果如下:
54564645514
54564645514
(这而本应该输出数据,但是什么都没有)
/n(光标在此处)
附图在附件里
搜索更多相关主题的帖子: array char int main include 
2008-03-26 21:44
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
收藏
得分:0 
for(i=0;i<=j;i++,j--)
  a[i]=array[j];
此句将a[0]赋值为'\0',字符串结束符。
printf("%s\n",a);遇到'\0',即停
2008-03-26 22:00
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
f() 函数有问题  // '\0'

void f(void)
{
    char a[100];
    for(i = 0; i <= j - 1; i++, j--)
        a[i]=array[j - 1];
    a[i] = '\0';
    printf("%s\n",a);
}

—>〉Sun〈<—
2008-03-26 22:01
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
用gets() 和puts()  好点

学习需要安静。。海盗要重新来过。。
2008-03-26 22:05
weilijian
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-3-4
收藏
得分:0 
看看这个程序
#include <stdio.h>
int i,j;
char array[100];
main()
{      scanf("%s",array);
     printf("%s\n",array);
     j=strlen(array);
     f();
}
f()
{     
    char a[100];
    for(i=0;i<=j;i++,j--)
          a[i]=array[j-1];/*此时应为array[j-1],否则一开始就将array[j]='\0'赋给a[0],从而导致错误*/
    a[i]='\0';/*字符串结束标志,不可漏写*/
      printf("%s\n",a);
}
2008-03-26 22:17
wulang327
Rank: 1
来 自:大连
等 级:新手上路
帖 子:59
专家分:1
注 册:2008-1-29
收藏
得分:0 
问题解决了,太感谢你们了!
特别是‘now'.'cosdos'and'weilijian'
谢谢你们。
2008-03-27 12:18
wulang327
Rank: 1
来 自:大连
等 级:新手上路
帖 子:59
专家分:1
注 册:2008-1-29
收藏
得分:0 
weilijian :看一下
for(i=0;i<=j;i++,j--)
          a[i]=array[j-1];/*此时应为array[j-1],否则一开始就将array[j]='\0'赋给a[0],从而导致错误*/
    a[i]='\0';/*字符串结束标志,不可漏写*/
我运行了一下发现只能部分输出,不知道你试过没有;
我把for语句改为这样就没事了
for(i=0;i<=j,j>=0;j--)
2008-03-27 12:29
love329125
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-1-5
收藏
得分:0 
你的原因只有一个
是因为你的写函数的时候没有传参数啊
  而且你开始也没声明这个函数
因为是无返回值的,必须开始的时候声明一下,参数一定要传

开心!!
2008-03-27 13:43
wulang327
Rank: 1
来 自:大连
等 级:新手上路
帖 子:59
专家分:1
注 册:2008-1-29
收藏
得分:0 
兄弟,你没听说过无参函数吗?
无参函数是用来执行某个特定的操作的
你去侃侃书吧
2008-03-27 14:16
atowin
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-9-14
收藏
得分:0 
大家要注意到用scanf("%s", array)与gets()的区别,前者以空字符结束,后者以回车结束
2008-03-27 16:40
快速回复:帮下忙!实在是找不出哪儿有错误?
数据加载中...
 
   



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

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