c编程中的字母增量

1 c increment

我正在尝试创建一个程序,可以从用户获取char并显示字母表中的下一个字母.因此,如果您输入'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;
}
Run Code Online (Sandbox Code Playgroud)

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

Ita*_*ela 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;
}
Run Code Online (Sandbox Code Playgroud)