用c语言写一个程序逆反输入的字符串。
时间: 2024-05-14 11:16:38 浏览: 14
好的,以下是用C语言实现反转字符串的代码:
```c
#include <stdio.h>
#include <string.h>
int main ()
{
char string[100];
int i, j, len;
printf("请输入一个字符串:");
scanf("%s",string);
len = strlen(string);
for(i=0, j=len-1; i<=len/2; i++,j--)
{
char temp = string[i];
string[i] = string[j];
string[j] = temp;
}
printf("反转后的字符串:%s\n", string);
return 0;
}
```
在上面的代码中,我们使用`scanf()`函数读取用户输入的字符串,并使用`strlen()`函数获取字符串的长度。然后,我们使用一个循环来将字符串反转得到反转后的字符串,并使用`printf()`函数输出结果。
希望这个代码对你有所帮助!
相关问题
用c语言指针功能写一个程序逆反输入的字符串。
好的,以下是用C语言指针功能写一个程序逆反输入字符串的代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
char *p, *q, temp;
int len;
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
p = str;
q = str + len - 1;
while (p < q)
{
temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
printf("逆反字符串为:%s\n", str);
return 0;
}
```
注意:该程序可以逆反输入的字符串,但是如果字符串中含有空格等特殊字符,则可能会产生结果不准确的情况。
用C语言写一个可以输入字符串的函数
以下是可以输入字符串的函数示例代码:
```c
void inputString(char* str) {
printf("Enter a string: ");
scanf("%s", str);
}
```
这个函数使用 `scanf()` 函数输入字符串,并把字符串存储在参数 `str` 指向的字符数组中。注意,这个函数没有对输入字符串的长度做任何限制,因此需要保证 `str` 能够存储任意长度的字符串。如果需要限制输入字符串的长度,可以使用类似于下面的代码:
```c
void inputString(char* str, int maxLength) {
printf("Enter a string (maximum length %d): ", maxLength);
scanf("%" STRINGIZE(MAX_LENGTH) "s", str);
str[maxLength - 1] = '\0';
}
```
其中 `maxLength` 是最大长度,`STRINGIZE` 是一个宏定义,它把整数常量转换成字符串常量。这个函数使用了 `scanf()` 函数中的 `%s` 格式化符,并通过限制输入字符串的长度来避免缓冲区溢出问题。如果输入的字符串长度超过了最大长度,这个函数会自动截断字符串,并在字符串末尾添加一个空字符。