好久不见!关于位操作符的题目雯雯就放到下次吧,因为雯雯还没整理出来!(呜呜呜)
1.题目:写一个函数,可以逆序一个字符串的内容。(字符串里包含空格)
2.第一种解决方法:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#define N 10000
int main()
{
char ch[N];
int str;
gets(ch);
str = strlen(ch);
for (int i = str-1; i >=0; i--)
{
printf("%c", ch[i]);
}
return 0;
}
使用字符串输入函数gets可以读取输入的空格,如果用scanf则遇到空格就停止。
3.第二种解决方法:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void Reverse(char* arr, int str)
{
char *left = arr;
char *right = arr+str-1;
while (left < right)
{
char tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
for (int i = 0; i < str; i++)
{
printf("%c", arr[i]);
}
}
int main()
{
char arr[] = "I am a student";
int str = strlen(arr);
Reverse(arr, str);
return 0;
}
这里是规定了字符串,也可以运用gets输入任意的字符串。(改动的是主函数)
int main()
{
char arr[365] = { 0 };
while(gets(arr))
{
int str = strlen(arr);
Reverse(arr, str);
}
return 0;
}