[英]Print array of reversed strings in C
我希望這段代碼向后打印每個單詞,但不打印最后一個單詞,我想我在這里遺漏了一些非常基本的東西。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int l;
printf("lenght: ");
scanf("%i",&l);
char str[l][100];
int lenght[l];
for(int i=0; i<l; i++)
{
printf("%i : ",i);
scanf("%s",str[i]);
lenght[i] = strlen(str[i]);
}
for(int i=l-1; i>0; i--)
{
for(int j=lenght[i-1]; j>=0; j--)
{
printf("%c",str[i][j]);
}
printf("\n");
}
return 0;
}
這是for(int i=l-1; i>0; i--)
。目前0
索引字符串從未被處理。 將條件設置為i >= 0
也包括0
。
內循環初始化也需要改為j = lenght[i] - 1
。
i > 0
和lenght[i - 1]
導致問題。 還可以考慮使用putchar
打印單個char
和size_t
來表示字符串的大小:
for (size_t i = l; i--;) {
for (size_t j = lenght[i]; j--;) {
putchar(str[i][j]);
}
putchar('\n');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.