字符串的逆序(看收藏里面的题)
第一种方式:
#include <stdio.h>
void f(char *p);int main()
{char s[1000];gets(s);f(s);printf("%s",s);return 0;
}void f(char *p)
{int i=0;int q,k=0;while(p[i]!='\0'){i++;}while(k<i){q=p[k];p[k]=p[i-1];p[i-1]=q;k++;i--;}
}
第二种方式:
#include <stdio.h>
#include <string.h>int main() {char s[20];// 使用fgets()替代gets()以防止缓冲区溢出fgets(s, sizeof(s), stdin);// 去除末尾的换行符'\n'(如果存在)if (s[strlen(s) - 1] == '\n') {s[strlen(s) - 1] = '\0';}int len = strlen(s);int t = len - 1;int h = 0;for(int i = 0; i < len / 2; i++) {char temp = s[h];s[h] = s[t];s[t] = temp;h++;t--;}printf("%s\n", s);return 0;
}
注意!!!!!
统计长度的时候这两个必须相等!!!!!!!!!!!!1