C++字符串操作与递增递减运算符详解
1、for循环访问字符串
for循环提供了一种一次访问字符串的每个字符的方式。我们通过字符串的下标来访问每一个相应的字符,从而对字符串进行一些操作,例如将字符串倒置或者其他的操作,下面我们通过一个实例来讲解:
#include<string>
#include<iostream>
int main()
{cout << "Enter a word: ";string word;cin >> word;for (int i = word.size() - 1; i >= 0; i--){cout << word[i];}cout << "\nBye!";return 0;}
下面是输出结果:
Enter a word: animal
lamina
Bye!
根绝以上情况,我们成功的反向打印了animal,因此可以说明for循环可以对字符串字符进行一些不同的操作。
2、递增运算符++和递减运算符--
在C++中有多个常被用在循环中的运算符,因此我们花一点时间来讨论他们。前面已经介绍过了这两个运算符(++,--):他们的操作就是将循环计数加一或减一,然而这两种运算符还有两个变体,即前缀形式的操作符,例如:--x,++y。现在我们来细细讲解一下这两种形式有何不同。首先,当一个语句中只出现递增运算符或递减运算符时,前缀和后缀形式是一样的,例如:
int i=1;
i++;
与
int i=1;
++i;
这两种形式的效果是完全一样的。然而如果是一个语句种出现了两种或者多种运算符时,前缀和后缀将对结果造成影响,例如:
int main()
{int a = 20;int b = 20;cout << "a = " << a << " : b = " << b << endl;cout << "a++ = " << a++ << " : ++b = " << ++b << endl;cout << " a = " << a << " : b = " << b << endl;return 0;}
下面是输出结果:
a = 20 : b = 20
a++ = 20 : ++b = 21
a = 21 : b = 21
根据实例,使用后缀形式,是先进行运算,然后再递增,所以在输出a++的时候,是先输出a的值20,然后在进行递增变成21,而在输出++b的时候,是先进行递增变成21,然后再输出b的值21。所以这就是递增递减运算符的两种形式,要注意好好区分开来,否则很容易弄混淆。