藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


吐血一問。

在Aix上編譯通過。
我試了一下在sco openserver 505 上編譯以下一段程序:

#include<stdio.h>;
#include<time.h>;
#include<sys/timeb.h>;
main()
{
time_t t;
struct tm tt;
char mytime[11];
char mysun[7];
time(&t);
localtime_r(&t,&tt);
char hhh[7][7] = {"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
sprintf(mysun,"%s",hhh[(tt.tm_wday)]);
sprintf(mytime,"%d%d%d",tt.tm_year+1900,tt.tm_mon,tt.tm_mday);
printf("%s\n",mysun);
printf("%s\n",mytime);


}

編譯:  cc test.c  

結果老報錯,我再也不知道哪裡錯了。

高手幫助我看看。

吐血一問。

首先將char hhh[7][7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
改為char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};

第二,在C中要變量的申明要在其它語句之前。

以下是修改後的語句,已在RetHat7.2下編繹通過了自已試試吧 :wink:

#include<stdio.h>;
#include<time.h>;
#include<sys/timeb.h>;
main()
{
time_t t;
struct tm tt;
char mytime[11];
char mysun[7];
char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
time(&t);
localtime_r(&t,&tt);
sprintf(mysun,"%s",hhh[(tt.tm_wday)]);
sprintf(mytime,"%d%d%d",tt.tm_year+1900,tt.tm_mon,tt.tm_mday);
printf("%s\n",mysun);
printf("%s\n",mytime);

}

吐血一問。

首先將char hhh[7][7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
改為char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};

第二,在C中要變量的申明要在其它語句之前。

以下是修改後的語句,已在RetHat7.2下編繹通過了自已試試吧 :wink:

#include<stdio.h>;
#include<time.h>;
#include<sys/timeb.h>;
main()
{
time_t t;
struct tm tt;
char mytime[11];
char mysun[7];
char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
time(&t);
localtime_r(&t,&tt);
sprintf(mysun,"%s",hhh[(tt.tm_wday)]);
sprintf(mytime,"%d%d%d",tt.tm_year+1900,tt.tm_mon,tt.tm_mday);
printf("%s\n",mysun);
printf("%s\n",mytime);

}

吐血一問。

首先將char hhh[7][7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
改為char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};

第二,在C中要變量的申明要在其它語句之前。

以下是修改後的語句,已在RetHat7.2下編繹通過了自已試試吧 :wink:

#include<stdio.h>;
#include<time.h>;
#include<sys/timeb.h>;
main()
{
time_t t;
struct tm tt;
char mytime[11];
char mysun[7];
char *hhh[7]={"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"};
time(&t);
localtime_r(&t,&tt);
sprintf(mysun,"%s",hhh[(tt.tm_wday)]);
sprintf(mytime,"%d%d%d",tt.tm_year+1900,tt.tm_mon,tt.tm_mday);
printf("%s\n",mysun);
printf("%s\n",mytime);

}

吐血一問。

只要將char hhh[7][7] = {"星期天","星期一","星期二","星期三","星期四","星期五", "星期六"}; 放到前面定義就可以了,可以不用char *hhh[7],效果一樣!

C++才可以隨時用變量隨時聲明/定義,C 不可以!!



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com