我正在研究一个简单的程序,以将其合并到更大的程序中。我正在遵循我教授已经教过的内容。
#include <stdio.h>
int main()
{
char letter;
printf("Please Enter a Lower Case Letter:");
scanf("%s", letter);
if (letter >= 'a' && letter <= 'z')
letter = letter - 'a' + 'A';
printf("%s", letter);
return 0;
}
出现首字母“请输入小写字母:”,但输入字母后,返回值为(空)。任何帮助表示赞赏。
答案 0 :(得分:1)
也许尝试使用getchar()
而不是scanf()
。链接到getchar()和scanf()
#include <stdio.h>
int main()
{
char letter;
printf("Please Enter a Lower Case Letter:");
letter = getchar();
if (letter >= 'a' && letter <= 'z')
letter = letter - 'a' + 'A';
printf("%c", letter);
return 0;
}
答案 1 :(得分:0)
scanf("%s", letter);
将读取一个字符串并将其复制到内存letter
指向的位置,从而改为传递letter
的指针(scanf("%s", &letter);
)。
如果只需要一个字符,也可以使用%c
代替%s
,否则scanf
可以将一些不需要的字节写入相邻的内存。
对于最后printf
行也是如此。