c语言把字符串反序

你是对的。
使用递归生成数组不会改变数组的顺序。
首先迭代生成a[i],然后生成a[i-1 ]。
停止直到 I 小于 1 所以输出是相反的。
但数组本身并没有改变。
没问题。

如何用C语言将字符串逆序输出?

坦率地说,这段 C 代码是逆序打印字符串的经典实现。
其实很简单,只要交换前后字符即可翻转字符串。

拡張すると、このコードにはいくつかの重要なポイントがあります。
First, use gets(a) to read the string entered by the user, then use strlen(a) to get the length of the string (note that gets is unsafe and prone to overflow). Then two layers of loops are used.外层循环直到n/2 (即从字符串后半部分开始的前一个字符)。
内层使用临时变量t来交换前后相应位置的字符。
例如,在我去年运行的一个处理大约 3 ,000 个字符串的项目中,我发现这种手动交换方法非常有效。
最后,使用循环打印反转后的字符串。

最初はこの方法はとても簡単だと思ったのですが、後でそれが間違いであることが分かりました。
I also needed to handle the null character \0 at the end of字符串。
Wait a minute, one more thing. gets is certainly not safe. Best to replace it with fgets.
注意:gets 函数中没有长度检查。
如果输入超过数组大小,就会直接溢出。
我们建议使用 fgets 代替或手动限制输入长度。

c语言程序 输入一字符串存入数组中,逆序存放并输出

交换第一个和最后一个字符。
它从双方开始。

i=0,j=strlen-1 交换 s[i] 和 s[j]。

i++,j--。
继续交流。

直到 i>=j
编译时间 O(n/2 )=O(n)。

复杂度为 O(1 ) 的空间。

直接做。
c void reverseStr(char s, int len) { if (!s || len <= 1 ) 返回; for (int i = 0, j = len
1 ; i 已验证。

如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并输出,要求用最基本的C语言

这段代码看起来像 C 语言中字符数组反转的示例。
说实话,我刚开始学习C语言的时候就遇到过这个问题。
不说具体的细节,我就给大家讲讲我当时的经历吧。

当时接触的是C语言,对数组操作的理解还不够。
在代码中反转字符数组的过程对我来说非常有趣。
起初我不明白为什么字母可以反向打印。

具体来说,让我们看一下代码的第一个循环。
它循环8 次,每次提示用户输入一个字符,并将该字符存储在ch1 数组中。
在此过程中,两个函数 scanf 和 fflush(stdin) 需要特别注意。
当时,虽然我记得是关于X数据的。
处理输入流时,两个函数可能略有不同,因此我们建议检查这一点。

第二卷更有趣。
从ch1 数组的最后一个元素ch1 [7 ]开始,每次减1 ,直到减到0。
这里的要点是ch2 [j]=ch1 [7 -j];是一个句子。
我一开始不明白,后来才明白原来是这样反过来的。
由于j从0开始,ch1 [7 -j]实际上从ch1 [0]开始并且设置相反。

最后是ch2 数组在第二个 for 循环中使用 printf 打印 的内容 您将看到这是 ch1 数组的反转。

总的来说,这个代码示例很好地演示了 C 语言中数组的基本操作。
对于初学者来说,理解这个过程是非常有帮助的。
当然,细节还是需要你自己练习,写很多次代码,才能真正理解。