| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:为什么我的代码编译通过了,但是一运行就出错呢?
取消只看楼主 加入收藏
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
结帖率:58.82%
收藏
已结贴  问题点数:20 回复次数:3 
为什么我的代码编译通过了,但是一运行就出错呢?
这是今天自己写的小程序,就是输入一串字符,如果全是字母的话,如果首字母是元音字母,就在最后加'py',如果首字母是非元音,就把第一个删掉,在最后加上'py'。

但是输完字符串,一按回车就出错了。

程序代码:
#include <stdio.h>
#include <stdlib.h>
void input_f(char str[])
{
    scanf("%s",str);
    if(!check_f(str))
        printf("ERROR");
    //eturn 0;
}
void change_f(char * str)
{
    int len;
    lower_f(str);
    len = strlen_f(str);
    if(len >= 100)
    {
        printf("Too Long!");
        return 0;
    }
    if (str[0] == 'a' || str[0] == 'e' || str[0] == 'i' || str[0] == 'o' || str[0] == 'u')
    {
        str[len++] = 'p';
        str[len++] = 'y';
        str[len] = '\0';
    }
    else
    {
        int i;
        for( i = 1; i < len; i++ )
        {
            str[i - 1] = str[i];
        }
        str[i++] = 'p';
        str[i++] = 'y';
        str[i] = '\0';
    }
}
void print_f(char str[])
{
    printf("%s",str);
}
void lower_char_f(int * str)//修改为小写
{
    if(*str < 'a')
        *str = *str + ('a' - 'A');
}
void lower_f(char str[])
{
    int len;
    len = strlen_f(str);
    int i;
    for( i = 0; i < len; i++)
    {
        if(str[i] < 'a')
            str[i] = str[i] + ('a' - 'A');
    }
}
int strlen_f(char * str)//== (char str[])
{
    int len,i;
    for( i = 0;; i++)
    {
        if(str[i] == '\0')
        {
            len = i;
            break;
        }
    }
    return len;
}
int check_f(char * str)//if:void check_f()?
{
    int len,i;
    len = strlen_f(str);
    for( i; str[i] != '\0'; i++)
    {
        if(str[i] < 'A' || str[i] > 'z' || str[i] > 'Z' && str[i] < 'a')
            return -1;
    }
    return 1;
}
int main()
{
    char str[105],flag;
    printf("Welcome Pig(),Please input the string now!");
    input_f(str);
    change_f(str);
    print_f(str);
    printf("Do you want again?");
    scanf("%c",&flag);
    lower_char_f(flag);
    return 0;
}


求大神指点!跪谢~
搜索更多相关主题的帖子: 字符串 字母 
2014-02-03 17:07
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

我们老师教的调试是这么调试,但是一输入字符串回车就这样了,没法调试啊!
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-02-03 19:06
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 4楼 kindboy18
喔喔,谢谢!

能不能顺便说下我的为什么运行不了呢?我找不出错误来
2014-02-03 19:14
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 9楼 kindboy18
喔喔 谢谢了~
2014-02-03 20:19
快速回复:为什么我的代码编译通过了,但是一运行就出错呢?
数据加载中...
 
   



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

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