Почему моя программа C не выводит правильную строку? [закрыто]

Я пишу простую программу на C, которая меняет строку, беря строку из argv[1]. Вот код:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* flip_string(char *string){
  int i = strlen(string);
  int j = 0;
  // Doesn't really matter all I wanted was the same size string for temp.
  char* temp = string; 
  puts("This is the original string");
  puts(string);
  puts("This is the \"temp\" string");
  puts(temp);

  for(i; i>=0; i--){
    temp[j] = string[i]
    if (j <= strlen(string)) {
      j++;
    }
  }

  return(temp);
}

int main(int argc, char *argv[]){
  puts(flip_string(argv[1]));
  printf("This is the end of the program\n");
}

Это в основном это, программа компилирует и все, но не возвращает строку temp в конце (просто пустое пространство). В начале он печатает temp штраф, когда он равен string. Кроме того, если я делаю символ по символу printf в temp в цикле for, правильная строка temp в напечатанной строке, то есть строка -> отменена. просто когда я пытаюсь распечатать его до стандартного (после цикла for / или в main) ничего не происходит - печатается только пустое пространство.

1
задан 24 January 2014 в 21:58

0 ответов

Другие вопросы по тегам:

Похожие вопросы: