-1

やあ、

Java で行うように、args[] パラメータを使用して文字列をコードに読み込もうとしています。基本的に、これは私がやりたいことです:

 - read the String "machine" over launch-parameter
 - go through every letter of that string in a loop
 - while in the loop, check is current letter equals "e"
 - if letter equals "e", replace it with "a"
 - return edited string

これは、C に対する私の基本的な質問を表現する最良の方法です。ですから、この投稿を不快に思わないでいただければ幸いです。

そのコードをどのように実装できますか?

4

2 に答える 2

1

これは (ほとんど) ポインターを使用しないソリューションですが、中程度の高度な C プログラミングを行う場合でも、ポインターについて実際に学ぶ必要があります。

void replace_e_with_a(char str[])
{
    int i, len = strlen(str);
    for (i=0; i<len; i++) {
        if (str[i] == e) str[i] = a;
    }
}

int main(int argc, char *argv[]){
   int i;
   for (i = 1; i < argc; i++) {
     replace_e_with_a(argv[i]);
     puts(argv[i]);
   }
}
于 2012-11-04T15:20:05.197 に答える
0

これがうまくいくはずです。

#include <stdio.h>

void replace_e_with_a(char * str)
{
    int i;
    if (NULL != str)
      while ('\0' != *str ) {
          if (*str == 'e')
              *str = 'a';
          ++str;
      }
}

int main(int argc, char **argv){
   int i;
   for (i = 1; i < argc; ++i) {
     replace_e_with_a(argv[i]);
     puts(argv[i]);
   }
}
于 2012-11-04T14:26:17.377 に答える