C语言问题: 函数fun的功能:将S所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中。

2024-12-03 14:03:10
推荐回答(3个)
回答1:

#include 
#include 

// 将S奇数下标的字符存于t中,并返回。
char* fun(char *t, const char* S)
{
    int len = strlen(S);
    int idx = 0;
    for (int i = 1; i < len; i += 2) // 只留奇数下标字符
        t[idx++] = S[i];
    return t;
}

int main()
{
    char t[10], *s = "0123456789";
    puts(fun(t, s));
    return 0;
}

回答2:

你可在函数fun 最后加上
t[j]=0;

修改编码:

void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i {
if(i%2!=0)
t[j++]=s[i];
}
t[j]=0;
}

回答3:

/*

Please enter string S:12345abcde

The result is: 24ace
Press any key to continue
*/
#include
#include

void fun(char *s, char t[]) {
int i,j = 0;
for(i = 0;i < strlen(s);i++) if(i%2) t[j++] = s[i];
t[j] = '\0'; // 这个语句是不能省的
}

int main() {
char s[100], t[100];
// void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
return 0;
// NONO();
}