文档详情

C语言试题(答案带解析).docx

发布:2025-02-07约1.07千字共4页下载文档
文本预览下载声明

C语言试题(答案带解析)

题目描述:

编写一个C语言程序,实现一个函数`reverseString`,该函数接受一个字符串作为参数,并将该字符串反转。要求不使用额外的字符串或数组,只能通过修改原字符串实现反转。

函数原型:

```c

voidreverseString(charstr);

```

输入:

一个字符串,例如Hello,World!

输出:

反转后的字符串,例如!dlroW,olleH

答案:

```c

includestdio.h

includestring.h

voidreverseString(charstr){

intlen=strlen(str);

chartemp;

for(inti=0;ilen/2;i++){

temp=str[i];

str[i]=str[leni1];

str[leni1]=temp;

}

}

intmain(){

charstr[]=Hello,World!;

printf(Originalstring:%s\n,str);

reverseString(str);

printf(Reversedstring:%s\n,str);

return0;

}

```

解析:

1.函数定义:

`reverseString`函数接受一个`charstr`类型的参数,这意味着它接受一个指向字符数组(字符串)的指针。

2.计算字符串长度:

使用`strlen`函数计算输入字符串的长度。`strlen`是标准库函数,用于计算字符串的长度,不包括终止字符`\0`。

3.交换字符:

通过一个循环,将字符串的前半部分与后半部分对应的字符进行交换。循环的条件是`ilen/2`,这样可以确保不会重复交换,并且不会超出字符串的范围。

4.使用临时变量:

在交换过程中,使用一个临时变量`temp`来存储一个字符,这样可以在不丢失原字符的情况下完成交换。

5.主函数:

在`main`函数中,定义了一个字符串`str`并初始化为`Hello,World!`。然后打印原始字符串,调用`reverseString`函数,并打印反转后的字符串。

显示全部
相似文档