字符输入问题

fztfztfzt 2014-09-18 05:14:43
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int main()
{
char a[5];
while(gets(a))
{
if(a==“#” ) break;//为什么输入#不会进入if,break出来?
//if(a[0]=='#' ** strlen(a)==1) break; 要这么写才行?
}
}
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
百曉生 2014-09-20
  • 打赏
  • 举报
回复
C语言用字符数组是可以表示字符串的,但对字符串的操作有相应的函数,可以看看这个——http://blog.csdn.net/u012421456/article/details/38645335 可以去下载一个帮助文档
1508285028 2014-09-19
  • 打赏
  • 举报
回复
学习了,a代表数组的首地址
zyjj_99 2014-09-19
  • 打赏
  • 举报
回复
字符串比较: 1.char * 用 strcmp; 2.string、cstring 可以直接比较
赵4老师 2014-09-19
  • 打赏
  • 举报
回复
0==strcmp(a,"#")
饭凉凉 2014-09-18
  • 打赏
  • 举报
回复
引用 2 楼 fztfztfzt 的回复:
[quote=引用 1 楼 mythma 的回复:] a代表的是数组的地址。 a[0]才是数组的第一个字符的内容
对,应该用strcmp()是吧,cout<<a;这个为什么是输出a的内容而不是地址?而直接用a的话就是地址;[/quote] 因为a默认是一个指针。
fztfztfzt 2014-09-18
  • 打赏
  • 举报
回复
引用 1 楼 mythma 的回复:
a代表的是数组的地址。 a[0]才是数组的第一个字符的内容
对,应该用strcmp()是吧,cout<<a;这个为什么是输出a的内容而不是地址?而直接用a的话就是地址;
力为 2014-09-18
  • 打赏
  • 举报
回复
a代表的是数组的地址。 a[0]才是数组的第一个字符的内容

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧