-1

你好,

我正在尝试通过 args[] 参数将字符串读入我的代码,就像我在 Java 中所做的那样。所以基本上,这就是我想要做的:

 - 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 回答