标题:练习中的问题,怎样判断第一个字母后的参数,我的这段代码只能判断第一个, ...
只看楼主
霸霸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-4
结帖率:100%
 问题点数:0 回复次数:2 
练习中的问题,怎样判断第一个字母后的参数,我的这段代码只能判断第一个,怎样写这个循环呢
#include <stdio.h>
#include <stdlib.h>
int ccc(char ch);

//子函数,判断输入是否为字符,并返回字符的数值位置
int ccc(char ch)
{
    int i,num;
    i = ch;
    if(i>=65 && i<=90)
    {
        num = i-65+1;
        return num;
    }
    else if(i>=97 && i<=122)
    {
        num = i-97+1;
        return num;
    }
    else
        return -1;

}

int main(void)
{
    int a,i;
    char c;
    printf("input the char.\n");
    scanf("%c",&c);
    a=ccc(c);
    if(a != -1)
    {
        printf("%c is a char and is %d.",c,a);
    }
    else
        printf("%c is not a char.\n");


    return 0;
}
搜索更多相关主题的帖子: include return 字母 
2015-03-14 16:31
霸霸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-4
得分:0 
#include <stdio.h>
#include <stdlib.h>
int ccc(char *ch);

//子函数,判断输入是否为字符,并返回字符的数值位置
int ccc(char *ch)
{
    int i,num;
    i = ch;
    if(i>=65 && i<=90)
    {
        num = i-65+1;
        return num;
    }
    else if(i>=97 && i<=122)
    {
        num = i-97+1;
        return num;
    }
    else
        return -1;

}

int main(void)
{
    int a,i;
    char c[20],*p;
    printf("input the char.\n");
    p = c;
    scanf("%20s",&c);
    while(*p != '\0')
    {
        a=ccc(p);
    if(a != -1)
    {
        printf("%c is a char and is %d.",c,a);
    }
    else
        printf("%c is not a char.\n");

        p++;

    }

    return 0;
}
修改了一下,输出全部变成了
 is not a char.
 is not a char.
 is not a char.
2015-03-14 16:57
霸霸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-4
得分:0 
i = ch;
改成
i = *ch;
成功了
2015-03-14 17:00



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




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

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