关于函数中使用指针的问题
环境:win XP,编译 TC3 和 VC6
void main(){ void sort(char *p,int n); int p; char a[12]; scanf("%d",&p); sort(a,p); printf("%s\n",a);}void sort(char *p,int n){ switch(n) { case 1: p[]="January";break; case 2: p[]="February";break; case 3: p[]="March";break; case 4: p[]="April";break; case 5: p[]="May";break; case 6: p[]="June";break; case 7: p[]="July";break; case 8: p[]="Aguest";break; case 9: p[]="September";break; case 10:p[]="October";break; case 11:p[]="November";break; case 12:p[]="December";break; default:p[]="Error"; }}//void main()int main(){ //void sort(char *p,int n); char const* sort(int n); int p; char a[12]; scanf("%d",&p); printf("%s\n",sort(p));}char const* sort(int n){ static char const* str[] = { "January",//;break; "February",//;break; "March",//;break; "April",//;break; "May",//;break; "June"//;break; "July",//;break; "Aguest",//;break; "September",//;break; "October",//;break; "November",//;break; "December"//;break; //default:p[]="Error"; }; if(0 < n && n < 13) { return str[n-1]; } return "Error"; }
[解决办法]
初始化 与 赋值 不同