作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你能帮我理解为什么我会得到这个输出吗?
#include<stdio.h>
#include<string.h>
void main() {
char a[] = "Hello World";
char *p;
p=a;
printf("%d%d%d%d",sizeof(a),sizeof(p),strlen(a),strlen(p));
}
输出:1281111(我的操作系统是64位的)
如果编译的话上面的代码应该显示 1241111(output)在 32 位系统上运行。由于64位它显示1281111。
在我的第一年,我看到了这个问题,当我去寻找输出时,我得到 1281111。
但令人惊讶的是,上面代码的输出有两个选项:1)12121111 和 2)1221111。(大学问题)。
最佳答案
如果将 printf()
语句更改为以下内容,则可以更轻松地了解发生了什么:
printf("%d\n%d\n%d\n%d\n",sizeof(a),sizeof(p),strlen(a),strlen(p));
在我的系统上,这会导致输出:
12
8
11
11
换句话说:
\0
字符。)4
的 32 位计算机)。<char*
指针)时,a
和 p
是等效的。 (因为 p
指向 a
。)字符串 Hello World
的长度是 11
(因为 strlen()
不包含字符串末尾的 \0
字节)。希望这有帮助。
关于你能帮我理解这个程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56307371/
嗨,我是第一次玩 Pig,我很好奇如何处理将一个字段拆分成多个其他字段。 我有一个包,A,如下图: grunt> Dump A; (text, text, Mon Mar 07 12:00:00 CD
如何添加架构中未定义的固定字段(例如日期或月份)?我运行了以下 pig 脚本以将固定日期添加到我的结果表中,并收到以下错误消息:Invalid field projection。方案中不存在投影字段
我是一名优秀的程序员,十分优秀!