*s++和*s=*s+1更推荐哪个
时间: 2023-12-03 18:03:05 浏览: 44
在C++中,*s++和*s=*s+1都是可以使用的,但是它们的含义是不同的。*s++表示先取出指针s所指向的值,然后将指针s向后移动一个位置;而*s=*s+1表示先取出指针s所指向的值,将其加1,然后再将结果赋值给指针s所指向的位置。因此,如果你想要改变指针s所指向的值,那么*s=*s+1更为推荐;如果你只是想要移动指针s的位置,那么*s++更为推荐。
相关问题
c语言*s++和*s=*s+1
这两个表达式分别是 C 语言中的指针操作和赋值操作。
1. `*s++` 是一个指针操作,它的含义是先取出指针 s 所指向的值,然后将指针 s 向后移动一个位置。换句话说,它相当于 `*(s++)`。这个操作可以用来遍历一个指针数组或者字符串中的元素。
2. `*s = *s + 1` 是一个赋值操作,它的含义是将指针 s 所指向的值加 1,并将结果赋值给指针 s 所指向的位置。换句话说,它相当于 `*s = (*s) + 1`。这个操作可以用来对指针所指向的值进行修改。
需要注意的是,这两个操作涉及到指针的移动和值的修改,使用时需要确保指针 s 指向有效的内存地址,以及对指针所指向的值有合理的操作。否则可能会导致未定义行为或者内存错误。在使用这些操作时,请谨慎考虑代码的逻辑和安全性。
while (*s++ = *t++)
这是一个常见的字符串复制操作,它的意思是将指针t所指向的字符串复制到指针s所指向的位置,直到遇到字符串结束符'\0'为止。在复制的过程中,指针s和t都会不断地向后移动,直到复制完成。这个操作可以用于将一个字符串复制到另一个字符串中,或者将一个字符串连接到另一个字符串的末尾。
这个操作的实现原理是利用了C语言中的赋值运算符的返回值,即赋值运算符的返回值是被赋的值。因此,当*s被赋值为*t时,整个表达式的值就是*t,这样就可以实现不断地复制*t到*s中,直到*t为'\0'为止。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)