/***写一个rtrim()函数消除字符串后面的空格字符。***/
1*利用头文件
#include <string.h>
#include <ctype.h>
-
string.h
头文件:- 提供了字符串处理函数的声明和定义,例如字符串拷贝、字符串比较、字符串查找等。
- 包含了字符串处理相关的数据类型和宏定义。
例如, 用于计算字符串的长度, 用于字符串拷贝, 用于字符串比较等等。这些函数可以方便地实现字符串的操作和处理。
strlen()
strcpy()
strcmp()
-
ctype.h
头文件:- 提供了字符处理函数的声明和定义,例如字符转换、字符分类等。
- 包含了字符处理相关的数据类型和宏定义。
例如, 用于判断字符是否为字母, 用于将字符转换为大写, 用于判断字符是否为数字等等。这些函数可以对单个字符进行分类、转换和判断。
isalpha()
toupper()
isdigit(
/
字符串处理,读取转换——结合数组
#include <stdio.h>
#include <string.h>
#include <math.h>
int fun(char octalString[])
{
int length = strlen(octalString);
if (length > 5)
{
printf("错误:字符串太长\n\n");
return -1;
}
int decimal = 0;
for (int i = length - 1; i >= 0; i--)
{
if (octalString[i] < '0' || octalString[i] > '7')
{
printf("错误:%c 不是一个八进制字符\n\n", octalString[i]);
return -1;
}
int digit = octalString[i] - '0';
decimal += digit * pow(8, length - 1 - i);
}
return decimal;
}
int main()
{
char octalString[6];
printf("输入一个八进制字符串(5位):");
gets(octalString);
printf("输入的八进制字符串为%s\n", octalString);
int decimal = fun(octalString);
if (decimal != -1)
{
printf("%s 转换成十进制整数为:%d\n", octalString, decimal);
}
return 0;
}
1首先空置数组(无需元素数)
2利用strlen读取长度(也可以for,读取‘0’)
3利用长度进行函数操作, 如果数组为数字组成的字符串
可以进行以下操作:arr[i]-'0'意思是取数组元素与数字字符做差可以得到原数字(int)
且可以进行<=运算(比大小)