我正在尝试创建一个程序,可以从用户那里获取一个字符并显示字母表中的下一个字母。因此,如果您输入'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;
}
我试着把信暂时变成一个整数,这样我就可以把它增加一个,但是它不起作用。有什么想法吗?
答案 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;
}