C语言练习(12)
文章目录
前言
- 对于一个给定的字符串,反方向输出该字符串,本次给了循环和利用指针反向输出两种方法
题目
- 给定一个字符串,计算该字符串的个数并反向输出
例如给定字符串I Love Study则反向输出后为ydutS evoL I
题目解析
-
求字符串的长度可用strlen()函数,但是使用时候要包含头文件string.h
-
关键的一步就是进行首尾交换
team = s[i];用team 存储第一个字母
s[i] = s[len - 1 - i];用第一个字母放到最后一个字母位置
s[len - 1 - i] = team;最后一个字母放到第一个字母位置
- 整体代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char s[100] = "I Love Study";
int len = 0;
len = strlen(s);
printf("%d\n", len);
int i = 0;
char team;
for (i = 0; i < len / 2; i++) {
team = s[i];
s[i] = s[len - 1 - i];
s[len - 1 - i] = team;
}
printf("%s\n", s);
return 0;
}
- 采用指针定义解题程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char s[] = "I Love Study";
int len = 0;
char *p = s;
while (*p != '\0') {
len++;
p++;//p++实质上就是s[++]
}
printf("%d\n",len);
int i = 0;
char team;
for (i = 0; i < len / 2; i++) {
team = *(s+i);//当i=0时*(s+i)=0,*s代表字符串开头指针
*(s + i) = *(s+len - 1 - i);
*(s + len - 1 - i) = team;
}
printf("%s\n", s);
return 0;
}
结果
总结
- 求字符串长度用strlen()函数,千万不要忘记头文件函数库string.h,在定义变量的类型时候要检查是否一致