我正在尝试创建一个程序,可以从用户获取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)
我试着把信暂时变成一个整数,这样我就可以把它增加一个,但它不起作用.有任何想法吗?
我在你的代码中注意到的一些问题.
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)