初学C++,简单用个cin&cout就整蒙圈了,求大神指点
我的代码是这样的:#include <iostream>
using namespace std;
int func()
{
int a;
char u1[] = { "xxx" };
char u2;
cout << "请输入你的账号:\n";
int i;
for (i = 1; i <= 3; i++)
{
cin >> u2;
if (u1 == u2)
{
cout << "恭喜你登录成功!\n" << endl;
a = 1;
}
else
{
if ((3 - i) >= 1)
{
cout << "账号输入错误,请重新输入;你还有" << 3 - i << "次机会输入\n";
}
else
{
cout << "登录失败,程序已结束\n" << endl;
a = 0;
}
}
}
return a;
}
int main()
{
func();
return 0;
}
我运行结果是这样的,输入xxx按回车一直提示错误。。。,整蒙圈了,求大神指点
C++中数组比较的“==”号比较的不是内容,而是数组首地址,你这两个数组是两个不同的(不是内容不同而是占用的空间位置不同)所以不相等 你要比较用string比较啊 数组不能比较你非要比较用strcmp这个函数 你比较的是数组0号位置的内存地址,肯定是不一样的,要比较内容不能这样比较 沉默的菜鸟 发表于 2021-4-7 23:27
C++中数组比较的“==”号比较的不是内容,而是数组首地址,你这两个数组是两个不同的(不是内容不同而是占 ...
多谢大神指点,已调试成功,你的一句话解决了我一晚上苦思未果的问题,看来大神果然名不虚传{:1_921:},:lol今晚终于可以睡个好觉了,十分感谢!~ 236A 发表于 2021-4-7 23:39
你要比较用string比较啊 数组不能比较你非要比较用strcmp这个函数
多少大神指点,我这样改下竟然也成功了,哈哈,太神奇了
xiexiefenxianga mzbtdwd 发表于 2021-4-7 23:57
多少大神指点,我这样改下竟然也成功了,哈哈,太神奇了
这种写法没出异常,你算是烧高香了?下标总共20,即0-19。如 所有引用型的都是比较地址把 除非被重载了符号
页:
[1]
2