c++ cin返回值是多少

为什么一个永远返回4一个返回3???????????cin返回是什么东西啊???#include<iostream>#include<string>usingnamesp... 为什么一个永远返回4 一个返回3???????????cin返回是什么东西 啊???
#include<iostream>
#include<string>
using namespace std;
int main()
{
/*string str;
cout<<"Please enter you name\n";
getline(cin,str);
cout<<"Hello,"<<str<<"!\n";
cout<<endl<<endl;*/
////
char str2[10];
void *p=(cin>>str2);
printf("\n个数:%d\n",sizeof((char*)p));
printf("字符串:%s",&str2[0]);
free(p);
cout<<endl;
///
char str3[10];
printf("Please input char*:\n");
void *pp=(cin>>str3);
int len=strlen((char*)pp);
printf("个数:%d\n字符串:%s\n",len,&str3[len-len]);

return 0;
}
展开
 我来答
四舍五不入6
高粉答主

2020-01-12 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.2万
展开全部

cin是C++的标准输入流,其本身是一个对象,并不存在返回值的概念。

不过经常会有类似于

while(cin>>a)的调用,这里并不是cin的返回值,而是>>操作重载函数istream& operator>>(istream&, T &);的返回值,其中第二个参数由cin>>后续参数类型决定。

其返回值类型为istream&类型,大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。

扩展资料:

cin是iostream类的对象,它是从标准输入设备(键盘)获取数据,程序中的变量通过流提取符">>"从流中提取数据。

流提取符">>"从流中提取数据时跳过输入流中的空格、tab键、换行符等空白字符。

注意:只有在输入完数据再按回车键后,该行数据才被送入键盘缓存区,形成输入流,提取运算符">>"才能从中提取数据。

需要注意保证从流中读取数据能正常运行。

参考资料来源:百度百科-标准输入流

风若远去何人留
推荐于2018-05-17 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450127
专业C/C++软件开发

向TA提问 私信TA
展开全部
cin是C++的标准输入流,其本身是一个对象,并不存在返回值的概念。
不过经常会有类似于
while(cin>>a)
的调用,这里并不是cin的返回值,而是>>操作重载函数
istream& operator>>(istream&, T &);的返回值,其中第二个参数由cin>>后续参数类型决定。
其返回值类型为istream&类型,大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。
输入EOF的方法,windows下输入ctrl+z, Linux下输入ctrl+d。
于是,当输入所有数据后,通过输入EOF的方法,可以退出while(cin>>a)这样的循环。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spider_no3
推荐于2016-05-14 · 超过26用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:73.9万
展开全部
这就涉及到sizeof跟strlen的区别了,sizeof是一个操作符,strlen是函数。
sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。
该类型保证能容纳实现所建立的最大对象的字节大小。
sizeof((char*)p) 其实就是计算存放一个指针的空间大小,当然是4了,
strlen的参数是char*类型,计算字符串的长度,以结束符 0x00 为字符串结束。

cin不是函数不返回任何东西,它是一个输入流,应该说>>这个操作符返回什么,返回的是这个流本身,可以这么用cin>> str3 >> str4 >> str5;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9df37c8
2012-01-18 · TA获得超过215个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:223万
展开全部
首先cin不是函数,是C++类对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
此处无名胜有名
2012-01-18 · TA获得超过506个赞
知道小有建树答主
回答量:272
采纳率:93%
帮助的人:119万
展开全部
cin 相当于 Scanf("%****",&***);//***包含了c语言的很多东西,在C++里全替换了,不用那么麻烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式