C语言字符串反转:解决输出换行问题及代码优化
你的输出会换行是因为在每次输出单词后,你都使用了printf()函数打印了一个空格,导致每个单词之间都有一个空格,造成换行的效果。如果你不希望输出换行,可以将printf(" ");改为printf("");。这样就不会在每次输出单词后换行了。
另外,你的代码中还有几个问题需要注意:
- 在
for(int i=0;i<8;i++)这个循环中,你只遍历了word数组的前8个元素,而实际上你定义的word数组有10个元素。所以你需要将循环改为for(int i=0;i<10;i++)。 - 在
for(;j<len;j++)这个循环中,你没有进行边界判断,可能会导致数组溢出的问题。你可以将循环改为for(;j<len && c<8;j++),这样当c达到8时就会停止循环。 - 在输出
word数组时,你的循环条件是for(int k =count-1;k>=0;k--),但实际上你想要输出的是前count个单词,所以循环条件应该改为for(int k =count-1;k>=0;k--)。
原文地址: https://www.cveoy.top/t/topic/p4l8 著作权归作者所有。请勿转载和采集!