C - 接受用户的输入,然后打印字母系列



我的目标是获取用户的输入,然后打印字母表系列。从用户输入的位置开始打印字母序列。

#include<stdio.h>
int main(){
char alpha_U;
printf("Enter the letter from where you want in upper case: ");
scanf("%c",alpha_U);

for(char i = alpha_U; i <= 'Z'; i++){
printf("%c",i);
}

return 0;
}

你的代码几乎没问题,除了

scanf("%c", alpha_U);

需要一个指针作为第二个参数。

我不是C或c++编程专家,所以我建议你在cplusplus.com上查看文档。

具体来说,下面是scanf的文档:

https://cplusplus.com/reference/cstdio/scanf/

附加参数应指向已分配的对象,该类型由格式字符串中相应的格式说明符指定。

所以在你的例子中你应该写

scanf("%c", &alpha_U);

我也从C开始,所以如果我错过了任何细节,我道歉。

scanf("%c", alpha_U);

缺少&在变量的前面。纠正如下。

scanf("%c",&alpha_U);

我重写了代码,这样我就可以在main函数中获得用户输入。

#include<stdio.h>
#include <ctype.h>
int main(int argc, char *argv[]){
char lowerCase,upperCase;
printf("Enter one chacters to be capitalizedn");
scanf("%c", &lowerCase);
upperCase = toupper(lowerCase);
printf("%c",upperCase);
return 0;
}
#include<stdio.h>
int main()
{
char alpha_U;
printf("Enter the letter from where you want in upper case: ");
scanf("%c", &alpha_U);//Here,you should add '&' before 'alpha_U'
for (char i = alpha_U; i <= 'Z'; (int)i++) {//Then,add '(int)' before 'i'
printf("%c", i);
}
return 0;
}

相关内容

  • 没有找到相关文章

最新更新