y**********0 发帖数: 425 | 1 char str[20];
......
str++错误,但是++str 正确。
这个和整数的不同吗,整数就可以i++和++i,但是数组名就不行? |
X****r 发帖数: 3557 | 2 An array is not a pointer.
【在 y**********0 的大作中提到】 : char str[20]; : ...... : str++错误,但是++str 正确。 : 这个和整数的不同吗,整数就可以i++和++i,但是数组名就不行?
|
z****e 发帖数: 2024 | |
z****e 发帖数: 2024 | 4 快!
【在 X****r 的大作中提到】 : An array is not a pointer.
|
y**********0 发帖数: 425 | 5 数组名字就相当于一个指针,
比如char str[20];
...
str[1]和*(str+1)是一样的,但是 str++是错误的,而++str是正确的呢。如果不知道
这个,很难发现错误的。我仔细看了答案才知道。 |
P********e 发帖数: 2610 | 6 你什么compiler
str is a const pointer
【在 y**********0 的大作中提到】 : 数组名字就相当于一个指针, : 比如char str[20]; : ... : str[1]和*(str+1)是一样的,但是 str++是错误的,而++str是正确的呢。如果不知道 : 这个,很难发现错误的。我仔细看了答案才知道。
|
y**********0 发帖数: 425 | 7
char str[20]="string";
*(str+3)和str[3]是一样的,拜托。
【在 P********e 的大作中提到】 : 你什么compiler : str is a const pointer
|
e****d 发帖数: 895 | 8 In your original post, you are doing increment operation
on an array, which is wrong. "str" is kind of being
const.
This has nothing to do with *(str+3) or str[3].
【在 y**********0 的大作中提到】 : char str[20]; : ...... : str++错误,但是++str 正确。 : 这个和整数的不同吗,整数就可以i++和++i,但是数组名就不行?
|
r*******m 发帖数: 109 | 9 in VC 2010 both are wrong.
error C2105: '++' needs l-value
It is compiler dependent.
【在 y**********0 的大作中提到】 : char str[20]; : ...... : str++错误,但是++str 正确。 : 这个和整数的不同吗,整数就可以i++和++i,但是数组名就不行?
|
z****e 发帖数: 2024 | 10 我不觉得有任何complier可以让 那两句话的任何一句通过。
【在 r*******m 的大作中提到】 : in VC 2010 both are wrong. : error C2105: '++' needs l-value : It is compiler dependent.
|
y**********0 发帖数: 425 | |
c**b 发帖数: 2999 | 12 数组名字是数组的首地址.
【在 y**********0 的大作中提到】 : 数组名字就相当于一个指针, : 比如char str[20]; : ... : str[1]和*(str+1)是一样的,但是 str++是错误的,而++str是正确的呢。如果不知道 : 这个,很难发现错误的。我仔细看了答案才知道。
|