だから私は、現時点ではその入力行を反転させるプログラムを書くために必要だった、これは私が基本的に思い付いたものです:私はそれは大丈夫です知っている限りでのprintfは、Ubuntuの中で機能しない
#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int getLine(char s[], int lim)
{
int c, i;
for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
int reverse(char line[], char reverse[])
{
int i, j;
for (i = 0, j = strlen(line); i < strlen(line); i++, j--) {
reverse[i] = line[j];
}
return 0;
}
int main()
{
int len;
char line[MAXLINE];
char rev[MAXLINE];
while (len = getLine(line, MAXLINE) > 0) {
reverse(line, rev);
printf("%s\n", rev);
}
return 0;
}
と正しく動作するはずですが、次の行が印刷されても実行すると、そこには逆の文字列はありません! 同じ問題が他のプログラムでも続きますが、文字列を印刷する必要がある場合は、askubuntu
フォーラムまたはここで質問する必要があるかどうかはわかりません。
と思いますか?それが 'printf()'ならば、なぜあなたは 'reverse()'を質問に含めましたか?それが 'reverse()'の場合、タイトルは 'printf()'を参照するのはなぜですか? 'printf()'で問題を示す最短のプログラムを書くか、 'reverse()'関数についてもっと頑張ってください。 – slim
私はそれが 'lim-1'であると確信しています。 –