C++ 大神稍微看一眼!

这两道题的答案应该是什么? 不会c++ 谢谢了!
图片说明

c++

4个回答

第二道题目,输出内容要看你的编译器环境是32位的还是64位的。如果是32位的,输出6:4:1:4,如果是64位的,则输出6:8:1:8。第一个cout,输出的是数组str的长度,world加上后面的\0结束符,长度为6,第二个cout,输出的是指针变量p的长度,指针类型在32位环境下长度为4,64位环境下长度为8,第三个cout,输出的是char类型的长度,为1,第四个cout,同样是输出指针类型的长度,为4或8。

qq_41933497
痴眠虫 回复xjw_87: 好吧,我用的不是vs,是dev。我学过基础的C++,想赚点C币来下一本书的习题答案,好不容易看到会答的问题,码半天字,结果你比我快QAQ
接近 2 年之前 回复
xjw_87
xjw_87 回复qq_41933497: 是编译器环境不是系统环境。猜测你用的vs吧?64系统可以开发win32和win64程序,同样gcc也是。一样的代码,你可以在32位和64位linux默认安装的gcc环境下编译试试呢?
接近 2 年之前 回复
qq_41933497
痴眠虫 我在下面回答了,也贴出了运行结果,可以参考一下,我机子64位系统的
接近 2 年之前 回复
qq_41933497
痴眠虫 和64位或者32位无关,我电脑64位的系统,输出结果还是6:4:1:4
接近 2 年之前 回复
qq_41933497
痴眠虫 回复qq_38284258: 我去,我刚码完字,就被有人比我快一步。。。
接近 2 年之前 回复
qq_38284258
qq_38284258 膝盖送上
接近 2 年之前 回复

第一题

图片说明
首先,你的代码少了“using namespace std”或者在每一个cout前加“std::”(新手建议用using namespace std,像我代码里写的,一劳永逸,之后的cout就能直接使用),因为使用到cout等标识符需要调用到标准命名空间“namespace std",
若少了上诉语句,就会报错[Error] 'cout' was not declared in this scope。
再来说答案的问题。
因为指针变量pstr指向指针变量str,然后指针变量str又指向字符串vermeer,字符串又可以看作字符数组,即等同于char str[]="vermeer"。
输出pstr等同于指向了输出这个字符数组的首地址,输出一个字符数组的首地址等同于输出从首元素下标到最后一个元素下标的所有元素,
所以输出结果为vermeer。

第二题

图片说明
第二题同理,也像第一题里少了using namespace std;然后,根据题意,main函数里的第一句应该去除"//test1",因为test1不是一个类型,
且不删除注释符"//"的话,数组str将未被定义,程序将会出错。
然后,使用malloc函数的时候,需要包含一个头文件#include 。
有的编译器规定必须有返回值,所以我把main函数的void改成int,不影响答案。
然后来说答案:
sizeof()函数会返回变量所占的内存空间大小,变量str是个字符数组,里面有"world”共6字符,一个char类型的元素占1字节,
所以6字符占6字节。
在C++中各类型的指针的所占的字节数是一样的,所以指针 p 占4字节。
因为变量 i 是char类型变量,所以占 1 字节。
指针 pp 和指针 p 同理,所以占 4 字节。

打开以下两个网站的任意一个

https://tool.lu/coderunner/
https://ideone.com/

选择C++语言

把你的代码贴在代码区域

点运行

就有结果了。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_38284258: 代码错的还问运行结果是什么,这出题的怕是脑子瓦特了吧。
接近 2 年之前 回复
qq_38284258
qq_38284258 代码有问题的,输进去是显示不出答案的。。。。。
接近 2 年之前 回复

第一道题代码有误,更改后代码如下
#include
using namespace std; //需要加上命名空间
const char *str = "vermrre";
int main()
{
const char *pstr = str;
cout << "The address of pstr is :" << pstr << endl;
return 0;

}


首先定义两个指向常量的指针str和pstr,并且将str的指针位置再赋值给psrt,最后将pstr指针指向的内容输出。

图片说明

qq_38284258
qq_38284258 谢谢 我知道这题代码肯定有问题, 但是我提问的就是这样 我想知道第二题输出的是什么?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐