题目要求:
编写程序:从键盘任意输入一个字符串,输出该字符串。
然后,将该字符串逆序存放后再输出,要求用字符指针完成。
代码:
//解法一 #include <stdio.h> #include <string.h> int main() { char a[20] = {0}, b[20] = {0}, *p1, *p2; printf("任意输入一个字符串:"); //memset(b, 0X00, sizeof(b)); gets(a); p1 = a; p2 = b + strlen(a) - 1; for( ; *p1 != '\0'; p1++, p2--) *p2 = *p1; *p2='\0'; printf("string a is: %s\n", a); printf("string b is: %s\n", b); return 0; } //解法二 #include <stdio.h> #include <string.h> #define MAXN 1000 void reverse(char* str) { char* p = str + strlen(str)-1; char temp; while(str<p) { temp=*p; *p--=*str; *str++=temp; } } int main() { char str[MAXN]; printf("请输入一个字符串:\n"); gets(str); reverse(str); printf("翻转后的字符串是:\n%s\n", str); return 0; }
时间: 2024-11-06 06:41:37