关于C语言的几个问题?
第一个问题就是charstr【10】={“ABCDE”}的长度是多少?charstr【】={“ABCDE”}的长度是多少?那么用strlen函数测得他们的长度又分别是多少...
第一个问题就是
char str【10】={“ABCDE”}的长度是多少?
char str【】={“ABCDE”}的长度是多少?
那么用strlen函数测得他们的长度又分别是多少呢?
第二个问题就是
考试中遇到 x=3,y=2,z=1
问 x/y/z的结果 和int(x/y/z)和float(x/y/z)的结果又各是什么呢?
考试中应该按哪种写(直接问x/y/z的结果) 展开
char str【10】={“ABCDE”}的长度是多少?
char str【】={“ABCDE”}的长度是多少?
那么用strlen函数测得他们的长度又分别是多少呢?
第二个问题就是
考试中遇到 x=3,y=2,z=1
问 x/y/z的结果 和int(x/y/z)和float(x/y/z)的结果又各是什么呢?
考试中应该按哪种写(直接问x/y/z的结果) 展开
1个回答
展开全部
char str[10]={"ABCDE"},占用内存10个字节,前6个字节的值是"ABCDE\0",字符串不一定占用全部字符数组的内存,因此最后会加'\0'(0值)表示字符串的实际结尾。该字符串实际占据数组的前6个单元;
char str[]={“ABCDE”},会自动根据字符串长度确定占用内存的大小,为6个字节。
用strlen()函数去查看,结果都是5。
整数相除,余数舍去,只有整数部分。
同类型运算,从左至右顺次进行。
x/y=3/2=1,x/y/z=1/1=1,
取整之后,还是1,化成浮点数之后是1.000000.
如果想得到小数结果,有两种做法:
(1)在运算之前,先强制类型转换:(float x)/(float y)/(float z);
(2)运算的第一个数是浮点数:1.0*x/y/z;
运算时会自动选定第一个数的格式,进行计算。
char str[]={“ABCDE”},会自动根据字符串长度确定占用内存的大小,为6个字节。
用strlen()函数去查看,结果都是5。
整数相除,余数舍去,只有整数部分。
同类型运算,从左至右顺次进行。
x/y=3/2=1,x/y/z=1/1=1,
取整之后,还是1,化成浮点数之后是1.000000.
如果想得到小数结果,有两种做法:
(1)在运算之前,先强制类型转换:(float x)/(float y)/(float z);
(2)运算的第一个数是浮点数:1.0*x/y/z;
运算时会自动选定第一个数的格式,进行计算。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询