二维数组问题,请教大神!
程序代码:
void ascllout(char (*str)[LENTH],int n) { int i,j; char (*temp)[LENTH]=NULL; puts("按ASCLL顺序输出字符串列表:"); for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) if (strcmp(str[j],str[j+1])>0) { temp = str[j]; str[j]=str[j+1]; str[j+1]=str[j]; } for(i=0;i<LIMIT1;i++) fputs(str[i],stdout); puts("请按任意键返回主菜单"); getch(); menu(str,n); }temp = str[j];
str[j]=str[j+1];
str[j+1]=str[j];
在VS2010环境中,上面这段话报错了,我的意图是让指向数组的指针进行地址交换,而不去交换其本身,说str[j]和str[j+1]不是左值,改怎么改,为什么他们不是左值呢