|
藍森林 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 不可以!! |
| |