首先定义一个字符串:
char string[] = "iphone6plus";
我们通过观察字符串可以看出,如果要在原串的基础修改来实现字符串的逆向输出,我们需要把字符串第一位和最后一位进行交换,第二位和倒数第二位进行交换,第三位和倒数第三位进行交换,如此循环进行,如果字符的个数为奇数,那么中间的一位数(e)位置不会发生变化,如果字符的个数为偶数,那么最后字符都会交换一遍,交换结束的位置都是字符串的中间位置。这样我们就可以写出代码:
char string[] = "iphone6plus";
unsigned long length = strlen(string); // 计算字符串的长度
for(int i = 0; i < length / 2; i++){ //对字符串进行遍历,终点为字符串的中点
char temp;
temp = string[i];
string[i] = string[length - i - 1];
string[length - i - 1] = temp; //这四行代码是对字符进行交换
}
puts(string); //输出修改后的字符串
需要注意的是string[length - i - 1]里的减1,如果漏掉了顺序就会错了。