对于一个字符串函数,要使其反转输出可以使用两种方式实现。
对于一个字符串,首先确定其长度,然后从后往前遍历每一个字符并打印:
for (int i = len-1; i >=0; --i) { printf("%c", a[i]); //b[i] = *c--; //printf("%c", b[i]); }
这里len为字符串长度,通过–i的形式让字符串从后往前显示,然后使用printf函数打印出来。
将字符串a的值反向赋值给字符串b,然后打印字符串b
for (int i = 0; i <= len; ++i) { //printf("%c", a[i]); b[i] = *c--; printf("%c", b[i]); }
*c是一个指针初始时指向字符串a的末尾。b为另一个定义的字符串函数。通过赋值语句将这一串字符反向赋值给字符串b。
#include<stdio.h> #include "string.h" int main() { char a[] = "hello world"; char b[15]; int len = strlen(a); char *c = &a[len]; printf("%s", a); printf("\n"); for (int i = len-1; i >=0; --i) { printf("%c", a[i]); //b[i] = *c--; //printf("%c", b[i]); } printf("\n"); for (int i = 0; i <= len; ++i) { //printf("%c", a[i]); b[i] = *c--; printf("%c", b[i]); } printf("\n"); return 0; }
显示如下: