[quote=引用 3 楼 yq_forever 的回复:] [quote=引用 2 楼 qq423399099 的回复:] 一个个说,先说第一个,一维数组名+1,其实就是指针移到下一个数组元素之前,而在内存中移动的字节数会隐式 转换成str + 1 * sizeof( char)会在内存中移动1个字节,所以str+1移动到了数组的第二个字符之前,指向了第二个字符'B' //这里以LZ给的数组为例啊,如果是int的数组,就要sizeof(int) ,一次+1移动4个字节 第二个问题,LZ要看清啊第一个if中是a=0而不是a==0,所以不会进第一个if判断,也不满足第二个if判断,所以执行了else中的y+=y 得到了y=20,所以选A 第三个问题,#define P(a,b) strcpy(a,b)可以这样用的,但感觉并没有什么用
[quote=引用 2 楼 qq423399099 的回复:] 一个个说,先说第一个,一维数组名+1,其实就是指针移到下一个数组元素之前,而在内存中移动的字节数会隐式 转换成str + 1 * sizeof( char)会在内存中移动1个字节,所以str+1移动到了数组的第二个字符之前,指向了第二个字符'B' //这里以LZ给的数组为例啊,如果是int的数组,就要sizeof(int) ,一次+1移动4个字节 第二个问题,LZ要看清啊第一个if中是a=0而不是a==0,所以不会进第一个if判断,也不满足第二个if判断,所以执行了else中的y+=y 得到了y=20,所以选A 第三个问题,#define P(a,b) strcpy(a,b)可以这样用的,但感觉并没有什么用
一个个说,先说第一个,一维数组名+1,其实就是指针移到下一个数组元素之前,而在内存中移动的字节数会隐式 转换成str + 1 * sizeof( char)会在内存中移动1个字节,所以str+1移动到了数组的第二个字符之前,指向了第二个字符'B' //这里以LZ给的数组为例啊,如果是int的数组,就要sizeof(int) ,一次+1移动4个字节 第二个问题,LZ要看清啊第一个if中是a=0而不是a==0,所以不会进第一个if判断,也不满足第二个if判断,所以执行了else中的y+=y 得到了y=20,所以选A 第三个问题,#define P(a,b) strcpy(a,b)可以这样用的,但感觉并没有什么用
69,382
社区成员
243,073
社区内容
加载中
试试用AI创作助手写篇文章吧