简单vc程序 运行错误

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:54:23
以下是简单的代码:
#include <iostream>
main(void)
{
unsigned char Age;
long StartEnergy;
char CharacterType;
std::cout<<"What is your character's age?:";
std::cin>>Age;
std::cout<<"How much start energy?:";
std::cin>>StartEnergy;
std::cout<<"What is the character type?:";
std::cin>>CharacterType;
std::cout<<"Your character is"<<Age<<"year old."<<std::endl;
std::cout<<"Has"<<StartEnergy<<"of starting energy."<<std::endl;
std::cout<<"And its type is"<<CharacterType<<"."<<std::endl;
return 0;
}
运行后,当我给age输入个位数字 运行无误,当输入2位以上后,就出现错误,求助高手指点,谢谢

问题出在 unsigned char 你用int就行了`` CharacterType 也要改成int 才行;因为unsigned char 或者 char 在cin时只会接受一位,你输入2位的数的话,第一个数字将会给Age,第2个数字将会给StartEnergy,你根本就没机会输入StartEnergy.

把unsigned char Age;
改成int Age;

否则,Age永远只拿你输入的第一个字符,例如:39,Age只能拿到'3'这个字符