用Keil C51编写函数将字符串s逆转
时间: 2024-03-17 10:45:41 浏览: 56
以下是用Keil C51编写的将字符串s逆转的函数:
```c
void reverse_string(char *s)
{
int len = strlen(s);
for (int i = 0; i < len / 2; i++)
{
char temp = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = temp;
}
}
```
这个函数接受一个指向字符串的指针,并将字符串原地逆转。它首先计算字符串的长度,然后使用一个循环将字符串的前半部分和后半部分互换位置,从而实现字符串的逆转。
相关问题
Keil C51将十六进制字符串转换为整数
在Keil C51中,可以使用`strtol`函数将十六进制字符串转换为整数。`strtol`函数的原型如下:
```c
long int strtol(const char *str, char **endptr, int base);
```
其中,`str`是要转换的字符串,`endptr`是一个指向`char`指针的指针,指向转换结束后字符串中第一个非数字字符的位置,`base`是转换时使用的基数,这里应该为16。
以下是一个示例代码,将十六进制字符串`"1A"`转换为整数并输出:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *str = "1A";
char *endptr;
long int num = strtol(str, &endptr, 16);
printf("%ld\n", num);
return 0;
}
```
输出结果为:
```
26
```
阅读全文