关于伪善的事例:c++的类型转换

来源:百度文库 编辑:高考问答 时间:2024/05/06 06:23:13
学的是C++
我是初学者,最近想一个问题想不出;比如我要输入一个整形数组,但是如果输入字符的话就会出现问题,我已经用一些方法做到如果输入字符就判断他错误,然后重新输入,我的方法是设置一个字符数组,然后判断他的ASCII码,然后才能做到不让他造成死循环,但是后面的程序要用的是整形,也就是字符型的123和整形的123是不一样,我用了强制转换,但转出来的好像是地址,所以请大家帮帮忙,教点方法,谢谢!!!

如果是将字符串转换为整数,atoi函数可以用

int i = atoi("123");
此时i=123

没看明白!
如果要将字符串"123"转换为整数123,用sscanf函数就可以做到:
int i;
sscanf("123","%d",&i);/*则i=123*/

给你一些提示,自己可以参考一下.
int i=0;

while(!cin>>i) //如果输入字符就返回false
{
cin>>i;
}

printf("%d",123);//整型
printf("%c",123);//字符型
这2个结果不同的,你要自己揣摩一下