| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 482 人关注过本帖
标题:程序出错了,高手来看下哈!
只看楼主 加入收藏
uughhi
Rank: 1
来 自:成都
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-11-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
程序出错了,高手来看下哈!
将字符数组a中下标为单号(1,3,5,…)的元素值赋给另一个字符数组b,然后输出a和b的内容。
程序代码:
void main()
{int i,len;

 char str_a[81],str_b[81];
puts("Int the str_a:");

 gets(str_a);

 len=strlen(str_a);

 for(i=0;i<len;i++)

 {
     if(i%2!=0)
     {
         strcat(str_b[(i-1)/2],str_a[i]) ;
     }

 }
printf("%s,&s",str_a,str_b)
运行后输入字符串后回车,会显示程序无法响应,请高手指点下!
搜索更多相关主题的帖子: 元素 
2010-11-22 21:56
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:5 
程序代码:
#include<stdio.h>

int
main()
{
      int i,len;
      char str_a[81],str_b[81];

      puts("Int the str_a:");
      gets(str_a);
      len=strlen(str_a);
      for(i=0;i<len;i++)
      {
            if(i%2!=0)
            {
                  str_b[(i-1)/2]=str_a[i];
            }
      }
      printf("%s,%s",str_a,str_b);
      getch();
      return 0;
}

2010-11-22 22:04
uughhi
Rank: 1
来 自:成都
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-11-22
收藏
得分:0 
高手,还是不行啊!
2010-11-22 22:27
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
收藏
得分:5 
只要把 str_b[(i-1)/2]=str_a[i];
改为 str_b[(i-1)/2]=str_a[i-1];
就行了试试吧!!!
2010-11-22 22:35
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
收藏
得分:0 
现在行不行啊?我在codeblocks上编译运行成功呀!
2010-11-22 22:43
甘俊霖
Rank: 2
等 级:论坛游民
帖 子:20
专家分:41
注 册:2010-11-21
收藏
得分:5 
#include<stdio.h>
int main()
{
    int i,len;
    char str_a[81],str_b[81];
    printf("Input the str_a:");
    gets(str_a);
    len=strlen(str_a);
    for(i=0;i<len;i++)
    {
         if(i%2!=0)
         {
             str_b[(i-1)/2]=str_a[i];
         }
    }
    printf("%s,%s",str_a,str_b);
}
2010-11-22 22:44
甘俊霖
Rank: 2
等 级:论坛游民
帖 子:20
专家分:41
注 册:2010-11-21
收藏
得分:0 
这样行吧,我运行可以
2010-11-22 23:00
cxycctv123
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2010-11-22
收藏
得分:5 
回复 楼主 uughhi
strcpy是对字符串进行操作的,你想把a单下标的值分别赋给b数组,是将a数组里面的元素赋给b数组相应的元素的,不能用字符串处理,直接用str_b[(i-1)/2]=str_a[i];再在printf语句之前令i--;str_b[(i-1)/2+1]='\0';就好了
2010-11-22 23:24
uughhi
Rank: 1
来 自:成都
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-11-22
收藏
得分:0 
回复 5楼 huliangmao
可以运行,但是输入字符串后就会显示程序无法响应!
2010-11-24 17:20
uughhi
Rank: 1
来 自:成都
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-11-22
收藏
得分:0 
回复 6楼 甘俊霖
谢谢大虾了,我运行出来了!万分感谢!
2010-11-24 17:37
快速回复:程序出错了,高手来看下哈!
数据加载中...
 
   



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

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