cout和printf输出结果不一样

来源:互联网 发布:壁纸桌面软件下载 编辑:程序博客网 时间:2024/05/04 19:38

偶然发现cout和printf两种输出的结果竟然不一样,是一个非常简单的例子:

#include<iostream>using namespace std;int main(){double dval= 7;double* p1 = &dval;printf("*p1 = %d\n",*p1);cout << "*p1 = "<<*p1;system("pause");return 0;}

输出结果如下:

  很明显printf输出的结果不正确,查了printf和cout的区别后才明白,cout能够自动根据变量的类型来输出相应的结果,而printf输出的时候我们需要指定输出类型,而且这个类型必须是变量的类型,要不然就容易出错。所有讲printf("%d",*p1)中的%d修改为%f就可以了。

原创粉丝点击