问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求解释发现的C++几个小问题

发布网友 发布时间:2022-04-21 10:34

我来回答

5个回答

热心网友 时间:2023-11-09 17:42

第一个 传递的是指针 所以 sizeof 是指针的大小

第二个 int 是4字节 32位

第三个 你程序没写对

热心网友 时间:2023-11-09 17:43

1. sizeof(数组名)可以得到数组大小, sizeof(指针)只能得到4.
数组在传递参数以后, 会退化为指针, 所以sizeof得到4

2. +4是因为一个int占4个字节, 每个字节是8个bit. 但是内存从来不已bit的数目为单位, 所以是+4

3. ASCII码是0-47的字符很多是有特殊意义的, 可以查查ASCII表追问是不是说数组名并不完全等同于指针?

追答你好聪明啊

热心网友 时间:2023-11-09 17:43

1.不使用引用的话,数组参数只能拿到首地址也就是array[0]; so size=4;
2.指针加一 这个长度是sizeof(类型) 如果是double 那么就是8 如果是char 则=1;
3.字符型变量被赋值整形数字,这系统会直接强制转换成字符(根据ASCII)码 和输入输出流无关。
char a=32;
char b=a;
cout<<b;//b=? 试试追问这是……为什么不直接cout<<a,还要b=a?我就是这样输出的……

热心网友 时间:2023-11-09 17:44

1. sizeof(数组名)可以得到数组大小, sizeof(指针)只能得到4.
数组在传递参数以后, 会退化为指针, 所以sizeof得到4

2、你输出地地址只是在内存中的逻辑地址,是以字节为单位的

3、个人觉得是你的程序问题追问程序如下
char a;
for(int n=0;n<=47;n++,a=n){
cout<<a<<" ";
if(n%7==0&&n!=0)cout<<endl;
}

追答你把a=n拿到下面试一试
不过就算在上面 也不应该是w 我这边运行了一下 没有问题

热心网友 时间:2023-11-09 17:44

本来想说点什么,不过前面两个家伙说完了,另:你第三个问题描述的不够清楚。追问我的程序是这样的
char a;
for(int n=0;n<=47;n++,a=n){
cout<<a<<" ";
if(n%7==0&&n!=0)cout<<endl;
}

结果中不论令n初始为1、2、3最前面都会输出一个W

追答这个的话,你的a定义后没有初始化,第一次for循环是执行到n<=47时直接进入循环体,并没有执行a=n代码,因此你第一次输出的a应该是不确定值。不过我很好奇你是什么编译器怎么没有报错,如上面大哥所说,你的程序确实有问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 BP神经网络中初始权值和阈值的设定 C语言,求最大最小值 詟汰袀璐圭殑浜у搧锛堥檺链&#xFFFD;湀鍐呬娇鐢&#xFFFD;紝涓岖疮璁¤呖涓嬫湀锛夛细镇ㄧ殑绁炲窞琛屽ぇ浼楀崱2013鐗... 404 Not Found matlab关于minmax函数的问题 MiMAX是什么意思? MATLAb神经网络中net.iw{1,1};net.lw{2,1}中的数字表示什么概念? 中间的1,1; 2,1分别代表什么含义? 在神经网络中常用的技术有哪些? MinMax什么意思 求matlab中minmax函数的用法 无线胸麦话筒腰挎minmax啥意思 minmax函数是什么意思? 梅艳芳是因为什么原因去世的? 怎样在抖音上选择信得过的直播间 你好,我是苹果4手机,换了部苹果5,我想把4上的360安全卫士删除了,再在苹5上边安装,隐私空间里的文件还有吗 苹果14系统好不好用 14.6系统怎么样? ios14.6系统怎么样? 苹果11手贱升级了iOS 15,觉得不流畅了,怎么能退回去? ios15网络不稳定是怎么回事? 福禄克112数字万用表中MⅠN健是什么意思怎么用? 分治法c语言求最大最小值 清华2019数学与逻辑3.minmax{|(x-2)+ax+b|} 名人迟到 electre方法 404 Not Found matlab中的小波工具箱怎么用,希望能详细介绍 为什么我的手机内存卡不能用? 有些人在水里眼睛都能睁开,这是为什么? 有的人为什么能在水里睁眼? 为什么有人能在水里睁开眼睛,到底怎么做到的? 人在水中可以睁开眼睛吗? 很多人可以在水里睁开眼睛,他们是怎么做到的? 在水下可以睁开眼睛吗 人在水里可以睁开眼睛吗? 人在水里可以睁开眼睛吗 为什么有些人可以在水里睁眼?眼睛不会难受吗? 人可以在水下睁眼吗 人在水里能睁开眼睛吗 人可以在水下睁眼吗,水下睁眼会不会伤眼睛?