我的目标是获取用户的输入,然后打印字母表系列。从用户输入的位置开始打印字母序列。
#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;
}