程序执行后的输出结果是( )。 #include #include void main() { char arr[2][4]; strcpy(arr[0],"you"); strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s ",arr); } A) you&me B) you C) me D) err
选项:
A:二维数组的在内存的存储方式是行主序存储,char arr[2][4]定义了8个数组元素,它们以 arr[0][0],arr[0][1],arr[0][2],arr[0][3],arr[1][0],arr[1][1],arr[1][2],arr[1][3]顺序在内存开辟空间, 语句strcpy(arr[0],"you") 使arr[0][0]=‘y’,arr[0][1]=‘o’,arr[0][2]=‘u’,arr[0][3]=‘\0’。语句strcpy(arr[1],"me");使arr[1][0]=‘m’,arr[1][1]]=‘e’,arr[1][2]]=‘\0’。arr[0][3]='&'使arr[0][3]重新赋值为'&'。printf("%s ",arr)以字符串格式输出,arr为首地址,故输出结果为you&me。;
B:字符串结束标志分析的不对;
C:字符串起始地址分析的不对;
D:理解错误
选项:
A:二维数组的在内存的存储方式是行主序存储,char arr[2][4]定义了8个数组元素,它们以 arr[0][0],arr[0][1],arr[0][2],arr[0][3],arr[1][0],arr[1][1],arr[1][2],arr[1][3]顺序在内存开辟空间, 语句strcpy(arr[0],"you") 使arr[0][0]=‘y’,arr[0][1]=‘o’,arr[0][2]=‘u’,arr[0][3]=‘\0’。语句strcpy(arr[1],"me");使arr[1][0]=‘m’,arr[1][1]]=‘e’,arr[1][2]]=‘\0’。arr[0][3]='&'使arr[0][3]重新赋值为'&'。printf("%s ",arr)以字符串格式输出,arr为首地址,故输出结果为you&me。;
B:字符串结束标志分析的不对;
C:字符串起始地址分析的不对;
D:理解错误
发布时间:2024-06-08 23:45:27