warning: multi-character character constant
2011-05-14 16:33:57| 分类: C/C++|举报|字号 订阅
Dev-C++提示以上错误,经查是char类型字符只能存放一个单字符的原因,错误代码如下:
'. '
这个点符号后面跟了个空格,编译的时候会提示警告,但仍编译成功。运行的时候出现了奇怪的情况。全部代码如下:
#include <iostream>
using namespace std;
int main()
{
char ch1, ch2;
int num;
cin >> ch1;
cin.ignore(100, '. ');
cin >> ch2;
cout << "ch1=" << ch1 << ";ch2=" << ch2 << ";" << endl;
return 0;
}
期待行为是在输入:
Hello. Baby!
后,输出
ch1=H;ch2=B;
但在命令行输入以上数据后,输入流并未终止,仍可以继续输入字符。Ctrl+c强制终止后,只输出 ch1=H ,之后的内容无法输出了。虽然解决这个错误只要删除一个空格就行了,但这种错误表现方式真的很诡异。