c++-C++中关于输出值的问题

问题描述

C++中关于输出值的问题

#include
using namespace std;
class str
{
private:
char *p;
public:
str();
str(char *st);
void display();
};

str::str()
{
p=NULL;
}
str::str(char *st)
{
p=st;
}

void str::display()
{
cout<<p<<endl;
}

int main()
{
str str1("Hello"),str2("Book");
str1.display();
str2.display();
return 0;
}

为什么cout<<p 呢,为什么不是 *p呢?
为什么cout<<*p时输出的是H和B

解决方案

*p表示输出字符型
p表示输出字符串

解决方案二:

c++格式化输出问题
关于c++输出菱形*的问题

解决方案三:

因为你的类型是char*类型, p此时是一个指针变量,他指向了一个字符串的首字符的地址,那么*p 取到的值就是 字符串的首字符。

另外,因为cout 是流式输出,即以字节流的形式输出字符串,相当于printf("%s", p); 所以不需要加上*, 反而加上*得到的不是你想要的结果...

时间: 2024-11-05 12:18:56

c++-C++中关于输出值的问题的相关文章

分析友链交换中我们容易忽视的关键指标:PR输出值

你是否有这样的感受,当你在百度搜索一个东西或是一个问题的时候,返回的结果时常都不让人满意,有的都是在打广告,有的是文不对题,更有的是一个跳转链接.现在的网络上真的是充斥着太多的垃圾. 对于百度发布的web2.0反垃圾攻略旨在打击那些不断制造垃圾信息的seo,虽然我也是做seo的,这样做对我们以后的工作也会增加一定的难度,但是我对百度的这一做法还是深表赞同的. 接触这个行业也有一两年了,我就有一个深深的感觉我每天都在制造垃圾,真的,又是迫不得已,因为别人都在这么做,你不做你就会落后,就像现在的小孩

jsp-JSP中EL表达式不用&amp;amp;lt;c:out&amp;amp;gt;怎么输出值?

问题描述 JSP中EL表达式不用<c:out>怎么输出值? 从a页面跳转到b页面之后,在b页面中没有定义过<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>,但是用可以直接取到ord的值,但如果想在表格的单元格 中直接输出ord的值该如何做?不好用,取不到值,并且在/c:foreach之间所有原本正常显示的元素都显示不出来了. 解决方案 额,我自己试出来了,已经解决

java的Map集合中按value值进行排序输出的实例代码_java

java的Map集合中按value值进行排序输出的实例代码 import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test { public static void main(String[] args) { Map<String ,Integer> map = new Has

当向计算机中存入一个float类型的数值2.2 后,在从计算机中读出输出,这时2.2 的值已经发生了变化(转)

 problom : 'f1' value hava been changed when output. reason : the binary repersentation of 2.2f is : 00110011001100110011... (is an infinite recurring decimal) but computer only store 24 byte , so discard the remaining number , lead to the value has

在 ExcuteReader 中使用输出参数的问题

问题 今天一个查询需要通过 ExcuteReader  返回结果集,同时又想输出参数,刚开始的时候一直得不到输出参数的值,以为存储过程出错,但是在查询分析器里面测试是正确的,而且输出参数确实已经赋值.更加让人百思不得其解的是,对出输出强制类型转换丢出异常之后,确又可以得到了,难道是ado.net 的bug,想象页不可能啊,这么常用的API,不可能出这种错吧,我的代码类似一下场景:  try {            using (SqlDataReader dr = cmd.ExecuteRea

Perl中怎样从数组中删除某个值

  这篇文章主要介绍了Perl中怎样从数组中删除某个值?本文讲解如何把数组的元素赋值为undef,然后在从数组中删除元素,需要的朋友可以参考下 我不确定undef是否和从数组中消除值有确切的关系,猜测一下,如果我们将undef视为"空",那么会有一些联系.但通常来说,将某些东西赋值为undef和删除某些东西是不一样的. 首先来看怎样把数组的元素赋值为undef,之后再了解如何从数组中删除元素. 从下面的代码开始: 代码如下: use Data::Dumper qw(Dumper); m

Shell中函数返回值超出问题

  这篇文章主要介绍了Shell中函数返回值超出问题,shell中通过return返回是有限制的,最大返回255,超过255,则从0开始计算,需要的朋友可以参考下 1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: 代码如下: [ function ] funname [()] { action; [return int;] } 说明: (1)可以带function fun() 定义,

JS 获取select(多选下拉)中所选值的示例代码

通过js获取select(多选下拉)中所选值,具体实现如下,有需要的朋友可以参考下,希望对大家有所帮助   复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> New Document </title> <meta name="Generator" content

objective c-添加NSMutableArray到另一个NSMutableArray中时数组值

问题描述 添加NSMutableArray到另一个NSMutableArray中时数组值 NSMutableArray *no1=[[NSMutableArray alloc]init]; NSMutableArray *no2=[[NSMutableArray alloc]init]; for(int i=0;i<3;i++) { for (int j=0;j<=i;j++) { NSString *no_str=[NSString stringWithFormat:@""