C++程序理解上的问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:44:19
#include<iostream>
#include<stdlib.h>
using namespace std;

void main()
{ int total[3]={573, 452, 571};

char Exm_name[][15] = {
"第一次段考", "第二次段考","期 末 考"};

char Exm_Date[][12] = {
"2008/3/5", "2008/5/5", "2006/6/24"};

char Year1[5], Year2[5], Year3[5]; //从这里开始怎么理解好啊?

int Date[3];

cout<<"考试日期\t考试名称\t分数"<<endl;
for(int k = 0; k < 3; k++)
{
if(k == 1)
{
Year1[k] = NULL;
Year2[k] = NULL;
Year3[k] = NULL;

Date[0] = atoi(Year1);
Date[1] = atoi(Year2);
Date[2] = atoi(Year3);
}
cout<<Exm_Date[k]<<"\t"<<Exm_name[k]
<<"\t"<<total[k]<<endl;
}
}

char Exm_name[][15] = {
"第一次段考", "第二次段考","期 末 考"};
这定义就错了
string Exm_name[][15] = {
"第一次段考", "第二次段考","期 末 考"};
char 是字符类型

这本书我也买了,一楼的答案完全不沾边,我觉着是书SB了
里面那个if中k的起始也行该是0才对。还有期末考和前面几个年份应该一样吧?!
BS编这本书的人,太粗心了吧也?!
想改还是不知道怎么改才好。
重点是如果date[0]=atoi(exm_date[0])
那么他的值将等于2008.
体现了一个字符串转数字的函数,从第一位一直取到非数字的字符为止。