c++ char/int cin获取转换不匹配问题,
来源:互联网 发布:wan微型端口 编辑:程序博客网 时间:2024/05/02 03:32
哈哈!今天在学习C++语言时看到一个很有意思的问题,以下个人见解(有可能是错的,知道的帮忙提供正确的意见。
代码如下:
#include<iostream>
char *buildstr(char c,int n);
int main()
{
using namespace std;
int times;
char ch;
cout << "Enter a character:";
cin >> ch;
cout << "Enter a integer";
cin >> times;
char *ps = buildstr(ch,times);
cout << endl;
// cout <<"Count for print" << times << endl; //此语句可以影响结果的产生与输出,是否可通过Cout 输出流,将char类型转换到int ??
cout << ps << endl;
delete [] ps;
ps = buildstr('+',20);
cout << ps <<"-Done-"<< ps <<endl;
delete [] ps;
return 0;
}
char *buildstr(char c,int n){
char *pstr = new char[n+1];
pstr[n] = '\0';
while(n-- > 0)
pstr[n] = c;
return pstr;
}
采用linux 编译后:g++ -o buildctr buildctr1.cpp,
执行:./buidctr
结果如下:
$ ./buildctr
Enter a character:a
Enter a integer10
aaaaaaaaaa
++++++++++++++++++++-Done-++++++++++++++++++++
如果将Enter a interger 的输入更改为一个字符,所产生的结果为:
Enter a character:a
Enter a integera
结果如图片所示.
a值对应ASCII码为:97,而结果所产生的字符已超过97,
初步分析为,cin在获取int 字节时所对应值为4 bytes ,而char 为1bytes ,是否cin 会通过获取其他3bytes无效值来满足4bytes的int 值??
- c++ char/int cin获取转换不匹配问题,
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C数据类型转换小结(int转换char时有问题)
- C语言char类型和int类型相互转换问题
- C++中cin>> cin.get(char[], int) cin.getline(char[], int) cin.get(char)输入区别
- 【C/C++】int,string,char之间转换
- C语言中int与char(或char[])转换问题
- C++,CString,string,char*,int等转换
- C语言中char转换成int
- C语言char和int的转换
- c语言:int与char转换示例
- http请求报文挂起案例
- spring中的@Qualifier注解
- Metasploit信息收集2
- c++(2)
- Eclipse中project Explorer栏中java类报错不显示红叉怎么回事
- c++ char/int cin获取转换不匹配问题,
- vue2.0 全局组件和局部组件
- CentOS下SVN服务器的安装与配置
- 链表操作C语言版
- Python-下楼问题
- 2016级ACM寒假训练(七)
- Python数据加载、存储与文件格式
- C语言程序设计现代方法---第六章:循环
- 单例模式