标题:新人学习c 语言遇到了问题。
取消只看楼主
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
结帖率:22.22%
已结贴  问题点数:6 回复次数:4 
新人学习c 语言遇到了问题。
编译没问题,运行出现内核转储,还请高手帮助!


#include<stdio.h>
#include<string.h>
int main()
{
    char a[50],a_1[50];
    char b[50];
    int i,j,len;
    char null;
   
    printf("输入字符串\n");
    gets(a);
   
    len=strlen(a);
    for(i=0;i<len;i++){
        if(a[i]==' '){
            b[i]=a[i];
            break;
        }
        else if(a[i]!=' '){
            a_1[i]=a[i];
        }
        else{
            printf("没有空格\n");
        }
    }
    for(j=0;j<50;j++){
        printf("%s",a_1[j]);
    }
    return 0;
}
搜索更多相关主题的帖子: include 字符串 null 
2012-12-06 00:59
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
得分:0 
回复 4楼 xiaoseqingch
我想要程序是把输入字符串内的空格删除,输出不带空格的新的字符串。这个程序遇到第一个空格就循环结束了,为什么?
能不告诉我改怎么改?
2012-12-06 21:16
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
得分:0 
回复 8楼 h1023417614
我在if语句里写了break ;不知道break用的对不。我想让程序这样执行:for循环如果检测到空格,if语句执行,if执行完后不往下执行else if 而直接跳出if语句进行下一此的for循环,如果下次for循环不是空格就执行elseif;
这样要怎么写才能实现呢?
2012-12-10 01:17
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
得分:0 
以下是引用h1023417614在2012-12-8 00:38:40的发言:

要初始化a_1[50]={0},防止有乱码,,还应该把%s改为%c

在后面给a_1[50]赋值了啊,为什么还会有乱码?要是用%s 输出就不用写for循环了.直接printf("%s",a_1);
2012-12-10 01:20
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
得分:0 
回复 12楼 h1023417614
新手上路。。
貌似是该用continue!break和continue分不清楚。
2012-12-12 21:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389812-1-1.html




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

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