| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 558 人关注过本帖
标题:小弟写了个程序不知道哪里有问题?
只看楼主 加入收藏
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:5 
小弟写了个程序不知道哪里有问题?
#include <stdio.h>
#include <string.h>
void fun(char *s,char t[])
{
    int  i,j;
   
    j=0;
    for(i=0;s[i]!='\0';i++)
   
      if(i%2!=0&&'s[i]'==0)
     t[j++]=s[i];
   
     
   
  
}
void main()
{
  char s[100],t[100];
  printf("\nplease enter string s:");
  scanf("&s",s);
  fun(s,t);
  printf("\nthe result is:%s\n",t);
}
搜索更多相关主题的帖子: include result 
2010-09-02 15:28
zhjr5201314
Rank: 4
等 级:业余侠客
帖 子:63
专家分:238
注 册:2009-9-10
收藏
得分:5 
scanf("&s",s);
2010-09-02 15:44
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:5 
很明显,你没有说清你的程序要干什么……这样我们也不知道要干嘛……你给的程序有几个错误:1、楼上说了;2、因为数组s没有初始化,你在fun函数中又没有给它的有效字符串后加'\0',所有就算找到结果,当用printf打印出来时,就可能是乱码;还有fun()中if语句的's[i]'==0,我怎么觉得有错,是不是要改成s[i]=='0'……


[ 本帖最后由 S_12s 于 2010-9-2 15:58 编辑 ]
2010-09-02 15:56
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:5 
根据楼主的意思应该是,把s中的偶数项且是0的元上都拷贝到数组t中,不过因为都是0,貌似没什么意义~
#include <stdio.h>
#include <string.h>

void fun(char *s,char t[])
{
    int  i,j;
   
    j=0;
    for(i=0;s[i]!='\0';i++)
   
        if(i%2!=0&&s[i]=='0')
            t[j++]=s[i];

    t[j] = '\0';
   
}

int main()
{
  char s[100],t[100];        

  printf("\nplease enter string s:");
  scanf("%s",s);
  fun(s,t);
  printf("\nthe result is:%s\n",t);
  
  return 0;
}
2010-09-02 17:30
xtfcu33
Rank: 2
等 级:论坛游民
帖 子:48
专家分:43
注 册:2010-4-26
收藏
得分:5 
scanf("&s",s);
LZ多看看书,要细心!
2010-09-03 11:21
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
收藏
得分:0 
各位高手首先我要说一声sorry   十分十分感谢你们对我的指点   你们说的很对   我对编程很感兴趣  但是正在基础阶段  所以会有很多白痴错误  
其实这个程序的功能  
                  是将s所指的字符串中除了下标为奇数且ASCII值为偶数的字符外,其余的全部删除,串中剩余的字符所形成的一个新串放在t所指的数组中。
根据各位的指导我又重新编了一下:#include <stdio.h>
#include <string.h>
void fun(char *s,char t[])
{
    int  i,j;
   
    j=0;
    for(i=0;s[i]!='\0';i++)
   
      if(i%2!=0&&s[i]%2==0)
     t[j++]=s[i];
    t[j]='\0';
     
}
void main()
{
  char s[100],t[100];
  printf("\nplease enter string S:");
  scanf("%s",s);
  fun(s,t);
  printf("\nthe result is:%s\n",t);
}
2010-09-03 14:45
快速回复:小弟写了个程序不知道哪里有问题?
数据加载中...
 
   



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

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