您好,
我试图通过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提出基本问题的最好方法。如果你不把这个帖子冒犯,我会很高兴。
我该如何实现该代码?
答案 0 :(得分: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]);
}
}
答案 1 :(得分: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]);
}
}
答案 2 :(得分:-1)
你走了:
void replace_e_with_a(char * str)
{
int i;
if (!str)
return;
for (i = 0; str[i]; i++) {
if (str[i] == 'e')
str[i] = 'a';
}
}
虽然没有编译它。