66问答网
所有问题
c语言,这个sizeof(ss)为什么是16而不是7
如题所述
举报该问题
推荐答案 2018-09-19
因为你定义的数组a长度是16,其中每个char型占1个字节,所以总共16×1=16个字节。
不要把sizeof和strlen搞混了,sizeof返回变量占用的内存大小。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/Uxxnnpvx9xnisU9DvD9.html
其他回答
第1个回答 2018-09-19
char ss[16] = "tese\0\n";
//等价于下面,未声明的元素默认值为0
char ss[16] = {'t', 'e', 's', 'e', '\0', '\n', '\0'};
// 重点不在于后面的赋值,在于 ss 是一个数组
// 而 sizeof(数组) 返回的是数组的大小
所以返回为16
相似回答
sizeof
判断指针长度
答:
ss表示的是一个具体的字符了
,所以sizeof(*ss)是1 ss是你定义的一个数组,sizeof(ss)就是数组的具体的长度11了 如果你在定义char *p=ss,那么此时sizeof(p)就是4了,所有指针变量都是4 这里你要弄清楚是数组还是指针,ss是数组,p是指针,虽然有时数组可以当指针用,但是两者还是由区别的,例...
C语言,为啥是
答案是10,6,4,6?
答:
sizeof关键字返回一个对象所占用的字节数。strlen函数返回一个字符串的长度。对象name是一个数组,由10个char元素组成,因此
sizeof(
name)返回10。name中存放的字符串
c
-book共有6个字符,因此strlen(name)返回6。对象str是一个指针,在32位程序中一个指针占4个字节,因此sizeof(str)返回4。
C语言
中的结构体问题
为什么
输出的都是24
不是
17吗? 还有书上的答案是...
答:
}
ss
1; int占4字节 char本身是1字节,但会分配4字节内存 int4字节,long
16
字节所以是24字节 ss2和ss3解释和ss1等同
c语言
的问题。
为什么
编译器里
sizeof
算出来的大小一直为8?哪位大神能解...
答:
形参表里的数组char s[],基实质就是一个指针,所以,输出的实际是一个指针为8个字节。请看:include<stdio.h> void prt(char s[]){for(;*s;s++)//数组名不可以++,它却可以 printf("%
c
",*s);} int main(){ char ss[2000]="asdfghjkl";prt
(ss)
;return 0;} ...
为什么这个sizeof
的结果是4
答:
ss是
你定义的变量
sizeof()
的功能是计算出
这个
变量所占字节长度,你应该是32位的机器,char类型占4个字节,所以为4
C语言
中的求水仙数。我怎么都输出不对啊 。求帮助!!!
答:
ss是
char型,取值是-128~127
,而
k是int型且代码中的取值
为
100~999,显然当k>127后要出错。建议将ss声明为int型。后面好像没有用到
ss,不
如删除。fwrite(&k
,sizeof(
int
),
1,pf); fwrite(&t,sizeof(int),1,pf);两句间没有写入间隔,所以会把k和t连起来存储为一个数了,所以读取要出错。
大家正在搜
c语言sizeof用法
c语言sizeof函数用法
sizeofc语言
void在c语言中什么意思
sizeof(char)
sizeof()
sizeof怎么用
sizeof(a)
strlen sizeof