设有说明语句:char x[20]="good\0morning";printf(“%d %d\n”,strlen(x), sizeof(x))输出结果 请教C语言高手,很多题目不会做。。

\u6c42C\u8bed\u8a00\u9ad8\u624b

1.B
2.c
3.a
5.b
6.b
7.a
8.c
9.b
10.a
11.a
12.a
13.d
14.a
15.c
16.1
17.1
18.1
19.2
20.1

1\uff0c\u9009d
017\u4e3a8\u8fdb\u5236\u6570\uff0c\u8868\u793a\u5341\u8fdb\u5236\u4e2d\u768415\uff0c\u800c\u201c++k\u201d\u662f\u5148\u52a0\u4e00\u540e\u8f93\u51fa\uff0c\u6545\u4e3a16\uff1bprintf("%x\n",g++);
\u8868\u793a\u4ee516\u8fdb\u5236\u7684\u5f62\u5f0f\u8f93\u51fa\u201cg++\u201d\u7684\u503c\uff0c\u5148\u8f93\u51fa\u540e\u52a0\u4e00\uff0c\u6545\u4e3a75
2\uff0c\u9009d
int x[10]={2,4,6}\uff1b\u5b9a\u4e49\u4e8610\u4e2a\u5355\u4f4d\u5927\u7684\u6574\u578b\u6570\u7ec4\uff0c\u654510X4=40
4\uff0c\u9009d
stringlen\u8ba1\u7b97\u7684\u662f\u201c\0\u201d\u524d\u7684\u5b57\u7b26\u957f\u5ea6\uff0csizeof\u8ba1\u7b97\u7684\u662f\u6574\u4e2a\u6570\u7ec4\u957f\u5ea6
5\uff0c\u9009c
printf("%s\n",strp[3]+2);\u8868\u793a\u4ece\u6574\u4e2a\u6570\u7ec4\u4e2dstrp[3]\uff08\u5373\u7b2c\u56db\u4e2a\u5143\u7d20\uff09\u7684\u7b2c2\u4e2a\u5b50\u5143\u7d20\u5f00\u59cb\u8fde\u7eed\u8f93\u51fa\u4ee5\u540e\u6240\u6709strp[3\u3011\u7684\u5b50\u5143\u7d20\uff0c\u82e5\u6539\u4e3aprintf("%s\n",strp[3]+5);\u5219\u8f93\u51fa\u7a7a\u683c\uff0c\u56e0\u4e3a\u201cddddd\u201d\u4e00\u51715\u4e2a\u5143\u7d20
10\uff0c\u9009a
printf("%-4.2f\n",x); \u4e2d\u201c\u2014\u201d\u8868\u793a\u9760\u5de6\u8f93\u51fa\u6570\u503c\uff0c\u201c2\u201d\u8868\u793a\u5c0f\u6570\u70b9\u540e\u4fdd\u75592\u4f4d\u6709\u6548\u6570\u5b57\uff0c\u800c\u20184\u2019\u8868\u793a\u8f93\u51fa\u6570\u503c\u53604\u4e2a\u5355\u4f4d\u7684\u4f4d\u7f6e\uff0c\u4f46\u5728\u672c\u9898\u4e2d\u5982\u82e5\u53604\u4e2a\u5355\u4f4d\u7684\u4f4d\u7f6e\u8f93\u51fa\u5219\u4e0d\u80fd\u6ee1\u8db3\u7cbe\u786e\u5ea6\uff0c\u6545\u6309\u539f\u6765\u8f93\u51fa
12\uff0c\u9009a
\u5728\u672a\u521d\u59cb\u5316\u6570\u7ec4\u7684\u60c5\u51b5\u4e0b\u5fc5\u987b\u6807\u660e\u6570\u7ec4\u7684\u5bbd\u5ea6\u548c\u957f\u5ea6\uff0c\u5982\u540e\u53c8\u521d\u59cb\u5316\u6570\u636e\u5219\u53ef\u7701\u7565
14 \uff0c\u90091
\u6574\u578b\u662f\u4e0d\u53ef\u4ee5\u8d4b\u4e88\u5b57\u7b26\u578b\u503c\u7684

15,\u90091
\u9519\u5728C\u8bed\u8a00\u7684\u201c\\u201d\u6709\u4e13\u95e8\u7684\u7528\u9014\uff01\uff01\u51e1\u4ee5\\u5f00\u5934\u7684\u662f\u8f6c\u4e49\u5b57\u7b26\uff01
\u5982\u679c\u8981\u8868\u793a\\u672c\u8eab\uff0c\u5219\u8981\u7528\\\u8868\u793a\u3002
\u56e0\u6b64\u5305\u542b\u6587\u4ef6\u90a3\u4e00\u884c\u8981\u6539\u5199\u6210\uff1a#include "C:\\user\\F1.h"

转义符'\0'表示字符串内容的结束,所以"morning"不会算作字符串部分。
puts( x )会发现,只输出"good"。
strlen( x )是输出字符串的长度,字符串是"good",所以strlen( x )是4。

sizeof( x )是变量x占用的字节数。
x是一个20个char类型元素构成的数组。每个char类型占1个字节,一共20个。
所以sizeof( x )是20。

strlen(x) 是字符串x的长度, 应为4
sizeof(x) 是char指针的长度,32位中为4,64位中指针长度为8

32输出: 4 4
64位输出 4,8

4 20

你首先要明白strlen与sizeof的区别
前者是测数组元素个数,碰见\0就返回。
后者是测类型所占字节数,可不是元素个数。char=1,int = 4.

扩展阅读:电动小玩具使用视频 ... ai全自动原创视频生成器 ... chat人工智能在线网页版 ... 女士玩具测评视频 ... 免费ai写作一键生成 ... 很暖很治愈的短句 ... 免费ai写作入口 ... ai角色生成器 ... chat ai人工智能 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网