我不得不做一个简单的程序来反转一个字符串。我最终从我自己的理解中获得了这些代码,但也得到了谷歌的帮助,因为我原本无法使其工作。它运行良好,并输出它应该和我理解除了reverse[j] = '\0'
声明以外的所有。 当我没有说明它的时候,我一直在输出中得到符号,但我想知道它是如何工作的。任何人都可以解释吗?反字符串程序中的空字符是什么?
#include<stdio.h>
int main(void)
{
char original[20], reverse[20];
int length, i, j;
printf("Enter a string:\n");
gets(original);
length = strlen(original);
for (i = length - 1, j= 0; i >= 0; i--, j++)
reverse[j] = original[i];
reverse[j] = '\0'; //I don't know what this statement does exactly
printf("The string reversed is:\n %s\n", reverse);
return 0;
}
首先阅读C编程手册中关于字符串的章节。 – Lundin
我有,但我想要一个简单的解释。我的教材没有很好解释。 –
然后得到一本新书。任何没有提到C语言字符串终止的初学者级书籍都是不好的。 – Lundin