c编程中的字母增量

时间:2015-10-06 09:44:37

标签: c increment

我正在尝试创建一个程序,可以从用户那里获取一个字符并显示字母表中的下一个字母。因此,如果您输入'a',它将打印'b'我是C的新手,我不太确定该怎么做。 这就是我到目前为止所做的:

#include <stdio.h>

int main (){
    char firstLetter [2],  secondLetter [2];
    printf ("Type in a single letter:");
    scanf ("%s", &firstLetter);
    secondLetter = (int)firstLetter++
    printf ("The letter after %s is %s",firstLetter, secondLetter );
    return 0;
}

我试着把信暂时变成一个整数,这样我就可以把它增加一个,但是它不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

我在您的代码中注意到的一些问题。

  • firstLetter[2]:如果您希望输入为单个字母,为什么要声明一个字符数组?
  • scanf( "%s", &firstLetter ):如果您希望输入为char,为什么要读取字符串?
  • 您需要检查输入

这是我的问题解决方案

#include <stdio.h>
#include <ctype.h>

int main()
{
    char firstLetter;
    char secondLetter;

    printf( "Type in a single letter: " );
    firstLetter = getc( stdin );
    if ( isalpha(firstLetter) && tolower(firstLetter) != 'z' ) {
        secondLetter = firstLetter + 1;
        printf( "The letter after %c is %c\n", firstLetter, secondLetter );
    } else { 
        printf( "Invalid letter\n" );
    }

    return 0;
}

答案 1 :(得分:-1)

简单代码

#include <stdio.h>
#include<ctypes.h>

int main() {
int ch = -1 ;

printf("\n Enter char >>> ");
scanf("%d", &ch);

if(isalpha(ch++)){
    printf("\n Next character is %c.",ch);
}else{
    printf("\n Ooops !!! : Either goes out of range or not valid character");
}

return 0;
}