C语言 第17课课后题
#include <stdio.h>int main()
{
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, year;
printf("请输入一个年份:");
scanf("%d", &year);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
days = 29;
}
for (i = 0; i < sizeof(days) / sizeof(days); i++)
{
printf("%2d月份:%d天\n", i+1, days);
}
return 0;
}
这里for (i = 0; i < sizeof(days) / sizeof(days); i++)
for语句里面 i < sizeof(days) / sizeof(days)这句话怎么理解 老司机带带我呗
sizeof(days)是这个数组的大小;
sizeof(days)是单个元素的大小;
总大小/单个元素的大小=元素的个数. 闪电猫网络 发表于 2017-11-7 19:48
sizeof(days)是这个数组的大小;
sizeof(days)是单个元素的大小;
总大小/单个元素的大小=元素的个数 ...
为什么是days不是days或者days 屁哥 发表于 2017-11-7 19:52
为什么是days不是days或者days
肯定不能是days啊,days是整个数组的大小,
days也可以的, 闪电猫网络 发表于 2017-11-7 20:23
肯定不能是days啊,days是整个数组的大小,
days也可以的,
但是daysdaysdays数值不一样啊 你看错了,是sizeof(arr),而不是sizeof(arr) 屁哥 发表于 2017-11-7 20:29
但是daysdaysdays数值不一样啊
不用考虑他的数值啊,只需要知道单个元素的大小就可以了,因为是int型数组,一般情况下都是四字节的.
你把sizeof(days)换成数字4也可以的, 闪电猫网络 发表于 2017-11-7 20:54
不用考虑他的数值啊,只需要知道单个元素的大小就可以了,因为是int型数组,一般情况下都是四字节的.
你把s ...
好的 我 消化消化 谢谢
页:
[1]