徐永广实验4 某题
1.
void main()
{
char *p, s[] = "ABCDEFG";
for (p = s; *p != '\0'; p++)
cout << *p << endl;
}
输出为:
A
B
C
D
E
F
G
若cout<< *p 改为cout<< p
void main()
{
char *p, s[] = "ABCDEFG";
for (p = s; *p != '\0'; p++)
cout << p << endl;
}
则输出为
ABCDEFG
BCDEFG
CDEFG
DEFG
EFG
FG
G
输出 *p 时是单指数组中一个元素
输出 p 时则是以p指向的s[0]开始输出一直到'\0',然后p++后p指向s[1]开始输出一直到'\0'
是这样解释吗?
2.该日在本年度中是第几天,用结构体
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int days(Date, int);
int day_sum = 0;
int main()
{
Date date;
cout << "请输入 年、月、日" << endl;
cin >> date.year >> date.month >> date.day;
day_sum = days(date, day_sum);
cout << date.month << "月" << date.day << "日是"<< date.year << "年的第" << day_sum << "天"<< endl;
return 0;
}
int days(Date date, int day_sum)
{
int m;
int day_month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
for (m = 1; m < date.month; m++)
day_sum = day_sum + day_month[m - 1];
day_sum = day_sum + date.day;
if ((date.year % 4 == 0 && (date.year % 100 != 0|| date.year % 400 == 0)) && date.month >= 3)
day_sum++;
return day_sum;
}
很不错的结构体算天数
3.输入的参数值建立不同的动态数组
...
#include <string.h>
...
char * f = new char[n];
...
new一个 数组为f[ ]