c c++编程-有没有大神看下 ,小弟刚学c++这个代码运行后输出str不是输出100为什么

问题描述

有没有大神看下 ,小弟刚学c++这个代码运行后输出str不是输出100为什么

#include
#include
using namespace std;
int main(void)
{
char *str = new char[100];
strcpy(str,"hello imooc");
cout << "*str";
delete[] str;
system("pause");
return 0;
}

解决方案

如果是输出str内容的话或者是str字符串长度的话可以用以下方式:

 #include "iostream"
#include "string"
#include "vector"
using namespace std;

int main(void)
{
    char *str = new char[100];
    strcpy(str,"hello imooc");
    cout <<"str字符串内容是: " << str << endl;
    cout <<"str字符串长度是: " << strlen(str) << endl;
    delete[] str;
    return 0;
}

如果你仅仅只有str这个字符指针的话,你想要获取到数组整体大小,很遗憾,这个str指针做不到,你要把str定义为数组类型的才行:

#include "iostream"
#include "string"
#include "vector"
using namespace std;

int main(void)
{
    char str[100];
    strcpy(str,"hello imooc");
    cout <<"str字符串内容是: " << str << endl;
    cout <<"str字符串长度是: " << strlen(str) << endl;
    cout<<"str数组长度: "<< sizeof(str)/sizeof(char) <<endl;
    return 0;
}

解决方案二:

cout << "*str";
输出的是
*str
因为有引号。
去掉引号,输出的是hello imooc。
要输出100,需要用sizeof

解决方案三:

cout << "*str";中 "*str"是字符串,
所以输出的是
*str
因为有引号。
去掉引号,输出的是hello imooc。
要输出100,需要用sizeof

解决方案四:

cout << "*str";中 "*str"是字符串,
所以输出的是
*str
因为有引号。
去掉引号,输出的是hello imooc。
要输出100,需要用sizeof

解决方案五:

"*str" 会当做字符串输出,变量不需要加引号

时间: 2016-03-14
Tags: c c++编程

c c++编程-有没有大神看下 ,小弟刚学c++这个代码运行后输出str不是输出100为什么的相关文章

java-JAVA求101到200的素数并全部输出 求大神看下我的编程错在哪谢谢

问题描述 JAVA求101到200的素数并全部输出 求大神看下我的编程错在哪谢谢 public class SuShu { public static void main(String[] args) { int i = 0; for(int a=101;a<200;a+=2) { for(int b=2;b<a;b++) { if(a%b!=0) { System.out.println(a); i = i + 1; } else { break; } } } System.out.prin

遍历-数据结构问题。二叉树,程序写了编译没错,但没办法运行。求大神看下。

问题描述 数据结构问题.二叉树,程序写了编译没错,但没办法运行.求大神看下. #include #define MAXLEN 100 using namespace std; typedef char elementType; typedef struct lBnode {elementType data; struct lBnode *lchild,*rchild; }Binode,*Bitree; void create(Bitree &T) //创建二叉链表 {char ch; cin>

sql语句报错,请大神看下哪里的错误

问题描述 sql语句报错,请大神看下哪里的错误 错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8' at line 15 C

qt5-QT使用 mysql时出现问题,求大神看下

问题描述 QT使用 mysql时出现问题,求大神看下 我的系统:win7 64bit QT版本:QT5.4 vs2013的编译器 MySQL5.6安装正常 我是初学者,想试验一下mysql的使用,用main函数调用以下代码时出现: Starting C:QtQt5.4.1QTprojectsbuild-Mysql_test-Desktop_Qt_5_4_1_MSVC2013_64bit-DebugdebugMysql_test.exe... build error!haha C:QtQt5.4.

求各位大神看下这个json问题,为什么只打印了list集合其中一个对象的一个属性

问题描述 求各位大神看下这个json问题,为什么只打印了list集合其中一个对象的一个属性 解决方案 解决方案二: 是不是有父类和子类,属性在不同类中 解决方案三: 看着好像没什么错,建议逐个打印一下集合的长度,还有这个menu如果是自定义的是否有getter setter方法

java-关于listvi中加入viewpager 求大神看下代码

问题描述 关于listvi中加入viewpager 求大神看下代码 我是写了一个viewpager 有三个页面 然后在第一个页面中加入了一个listview 然后在listview中加入一个viewpager 但是每次运行都报错 java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

这种卡片设计页面用什么框架做比较好,有什么好的思路,大神看下

问题描述 这种卡片设计页面用什么框架做比较好,有什么好的思路,大神看下 http://www.92mp.com/mp/ 想这样的页面,用HTML5做怎么样,模板怎么保存比较好,功能各方面有什么好点的思路 解决方案 你用angularjs试试.使用ng-if,ng-show等指令,可以实现.只不过样式得你自己写好. 解决方案二: 我的公司目前就是采用这种方式编写html5页面,很好学

java-Java求101到200的素数并输出 求大神看下哪里错了 能不能不用boolean函数改

问题描述 Java求101到200的素数并输出 求大神看下哪里错了 能不能不用boolean函数改 public class SuShu { public static void main(String[] args) { int i = 0; for(int a=101;a<200;a+=2) { for(int b=2;b<a;b++) { if(a%b!=0) { System.out.println(a); i++; } else{ break; } } } System.out.pr

xml-XML文件问题,请大神看下并帮忙解释下,感激不尽

问题描述 XML文件问题,请大神看下并帮忙解释下,感激不尽 XML文件问题,下边两段bean代码,我新手不理解,请大神看下并帮忙解释下,感激不尽 <bean id="dingDanDengJiDao" class="com.sysgrrj.module.DingDanDengJi.dao.DingDanDengJiDao"> <property name="sessionFactory"> <ref bean=&qu