66问答网
所有问题
在VC++6.0编译环境下,若有如下定义: char a[10]="chin\0a",则sizeof(a)表
在VC++6.0编译环境下,若有如下定义: char a[10]="chin\0a",则sizeof(a)表达式的值为____,strlen(a)表达式的值为___。 请问这题怎么做?
举报该问题
推荐答案 2017-06-06
sizeof(a)表达å¼çå¼ä¸º10ï¼è¿ä¸ªæ¯é®aå ç¨å¤å°ç©ºé´ï¼ä¸ç®¡éé¢èµå¼æ²¡æï¼10个åèé½è¢«aå äº
strlen(a)表达å¼çå¼ä¸º4ï¼è¿æ¯é®å符串é¿åº¦ï¼æªæ¢\0ä¹åçææ¯å符串é¿åº¦
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/nUDpiD2n2DnDssDxp9i.html
相似回答
c语言
char
c[]
[10]=
{"hello","world!"}
;则sizeo
f(c[1])的值是多少?
答:
因为字符数组c[1]={"world!"}
在定义
时被分配了10字节的内存空间,尽管它只被使用了6个字节(如果算上字符串末尾的'\0'的标记符的话是7个)。
设有
定义:char
s[12
] =
"string"; 则printf("%d\n "
,
sizeo
f(s...
答:
D
,
sizeo
f是操作符,指系统为变量s实际分配了多少内存字节,虽然s[12]实际上只使用了7个字节(string为6个,外加一个\0结束符),但后面的5个字符依然是存在的,只是为空而已。
有程序段“
char
str[]
[10]=
{"Aoyun","Beijing"},*p
=&
str[0][0];print...
答:
指针p指向字符‘A’所对应内存单元,p+
10则
指向'A'后第10个
char
单元也就是'B'所对应的内存单元,printf("%s\n",p+10)语句将内存单元(p+10)也就是‘B’开始的字符串输出(直到遇到'B'以后的第一个'\0')。所以输出Beijing。
一道c语言题: 若
定义:char
s
[10]=
"%d\
0a
\101"
;则
strlen(s)的值为...
答:
实际上是有的.例如
:char
a[
4]="abc";//这里数组的元素个数至少应该是4,否则此字符串不叫字符串了,只能叫字符数组了。strlen判断一个字符串的结束就是以其末尾的'\0'为界限。其实现代码可以模拟为以下:int strlen(char *p){ int i=0;while(*p++)i
++;
return i;} 所以他是不包括'\0'...
...main() { int i,j
;
char
a[10],
N='n'; printf("请输入一行9个的文字...
答:
include<stdio.h> void main(){ int i,j; /*定义整型变量i,j*/
char
a[10],
N='n'; /*定义字符数据a,有10个元素,a[0]...a[9];以及字符变量N,N的值为'n'*/ printf("请输入一行9个的文字:\n"); /*显示 请输入一行9个的文字*/ gets(a); /*...
若有
以下的数组
定义:char
str
[]=
"abcd"
;char
b[]={'a','b','c','d...
答:
0后面再有内容也是多余的。b是字符数组,不是字符串,拿它当C风格的字符串会出问题的,因为后面没有0作为字符串结束标记,如果要当成字符串来访问的话会一直往后访问,直到遇到0,这样就有可能访问到不允许访问的地址,程序会跳出一个非法访问错误。如果想拿b当C风格字符串用,请在最后加一个0。
大家正在搜