1.
a==b==c ——>错误的,若a==b,则变成1,否则变成0,不能起到比较的作用
2.
指针的类型不同于变量时,步长会变,偏底层了
3.
4.
库函数是厂商封装的
5.
3/2=1.......1 整数运算
6.优先级
++ > * > +=
so: (*p++) != (*p+=1)
7.位操作符
&按位与:都是1则是1
|按位或:有一个是1则是1
^按位异或:不同为1,相同为0
7.奶奶的,指针的应用过程中,很容易出现
1.传参错误
2.接收错误:如下 char temp
3.类型不匹配:用int*来接收字符类型的数组
void reserve(char* left, char* right)
{
assert(*left != NULL && *right != NULL);
while (left<right)
{
char temp = *left;//要用char类型来接收,不能用char*
*left = *right;
*right = temp;
left++;
right--;
}
}
int main()
{
char arr[101] = {0};
gets(arr);
int len = strlen(arr);
reserve(arr, arr + len - 1);
//找到每个单词,倒序
char* start = arr;
char* end = arr;//arr是字符数组,不能用int*指针
while(*start)
{
while (*end != ' ' && *end != '\0')
{
end++;
}
reserve(start, end - 1);
if(*end!='\0')
end++;
start = end;
}
printf("%s", arr);
return 0;
}