[英]random value is being outputted when I am printing a character
我的代码在下面,我是 C 编码的新手,但精通 Java:
#include<stdio.h>
int main(){
int number;
int firstInitial;
int lastInitial;
printf("\n\nEnter your first initial: ");
scanf("\n\n%c", &firstInitial);
printf("\nFirst Initial: %c", firstInitial);
(int)firstInitial;
printf("\nFirst Initial Decimal Value: %d", firstInitial);
//Second Initial
printf("\n\nEnter your Last Initial: ");
scanf("\n\n%c", &lastInitial);
printf("\nLast Initial: %c", lastInitial);
(int)lastInitial;
printf("\nLast Initial Decimal Value: %d", lastInitial);
return 0;
}
我的输出中的问题是,在我将字符转换为 int 后,它会输出一个随机的 7 位数字。 例如,对于第一个初始值,我输入了“a”并收到“4194401”而不是 97。该程序应该接收一个字符,并在 ASCII 图表中打印该字符及其字符的十进制值。
我已将firstInitial
和lastInitial
的数据类型更改为char
,因为您需要一个字符。 此外, (int)firstInitial
和(int)lastInitial
语句什么都不做——无论有没有它们,代码都可以正常工作。
#include<stdio.h>
int main(){
int number;
char firstInitial;
char lastInitial;
printf("\n\nEnter your first initial: ");
scanf("\n\n%c", &firstInitial);
printf("\nFirst Initial: %c", firstInitial);
printf("\nFirst Initial Decimal Value: %d", firstInitial);
//Second Initial
printf("\n\nEnter your Last Initial: ");
scanf("\n\n%c", &lastInitial);
printf("\nLast Initial: %c", lastInitial);
printf("\nLast Initial Decimal Value: %d", lastInitial);
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.