下列语句中存在语法错误的是a char ss[6][20];ss[1]="right?";b char ss[] [20

1个回答

  • A:对于二位数组a[i][j],a[i]不是值,而是地址,就是第i行的首地址,即a[i][0]的地址(一个固定的地址);

    ss[1]="right?";这句话,右边是个字符串常量,这么写意思是把"right?"(不包括双引号)这个字符串常量的首地址赋给等号左边,但等号左边的ss[1]本身就是一个固定的地址(ss[1][0]的地址).

    也就变成了两个常量进行赋值,显然是错的;

    C:就是一个数组ss[6],类型为char*,就是ss这个数组

    ss[0]~ss[5]存的都是char*(可以理解为字符串)类型的东西,所以ss[1]="right?";就无疑是对的了