#include
#include
#include
using namespace std;
int main()
{
char s1[]={},s2[]={};
cin.getline(s1,100);
cin.get();
cin.getline(s2,100);
if(strcmp(s1,s2)==0)
{
cout<<"equal"<<endl;
}
else
cout<<"not equal"<<endl;
}
C++问题:比较两个C风格的字符串,哪里错了,输出都是equal
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 LZ:你定义数组时不初始化大小能够编译过么?应该初始化大小;这是问题一;
char s1[]={},s2[]={}; 应该为:char s1[100]={0};或:char s1[100]; memset(s1,0,sizeof(s1));
其次:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.
你要注意cin.get()的用法;
下面代码已调试好:#include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; int main() { char s1[100]={0},s2[100]={0}; cin.getline(s1,10); //cin.get (); cin.getline(s2,10); if(strcmp(s1,s2)==0) { cout<<"equal"<<endl; } else cout<<"not equal"<<endl; system ("pause"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误