繁体   English   中英

打印字符时正在输出随机值

[英]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 图表中打印该字符及其字符的十进制值。

我已将firstInitiallastInitial的数据类型更改为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM