2011-05-02 76 views
0
int sk03(char * a) //DELETE! DELEEEEETE! 
{      //(Or "Exterminate! EXTERMINAAAAAATE!" if that's your thing.) 
    int b = sk00(a); 
    int c = 0; 
    while(a[b] != '!') 
    { 
     a[c] = a[b]; 
     c++;b++; 
    } 
    cout << a << "\n"; 
    int your_mom = 0; 
    return your_mom; 
} 

int main() 
{ 
    char * str = "``sk`sk!"; 
    return sk03(str); 
} 

此方法适用于当您要将整个字符串传递给函数,但如何将字符串的后半部分传递给sk03?我需要创建一个完整的新阵列吗?传递字符作为参数

+0

其中是sk00()的定义? – 2011-05-02 09:30:46

+0

你想做什么?出了什么问题? – fredley 2011-05-02 09:31:44

+0

从你想要的位置开始传球。 (即'sk03(str + n)'),其中'n'是从你的“下半部分”起始字符开始的索引。 – 2011-05-02 09:32:25

回答

1

不,你只是传递一个指针到你想要的元素:

char a[100]; 
sk03(a + 50);  // call function passing second half of the array 
+0

虽然D给了我一个段错误D:我试过了 – 2011-05-02 09:31:52

+0

哦,等等,不是我把它定义为char a =“''sk'sk!” – 2011-05-02 09:33:37

+0

@Robert Lennon:是的,因为你需要首先用某些角色初始化“a”.. – Heisenbug 2011-05-02 09:34:03

1

传递它像

char * str = "``sk`sk!"; 
return sk03(&str[4]); 
1

例如,你可以修改你的代码做这样的事情:

char str[STRING_LENGTH] = "``sk`sk!"; 
return sk03(&str[3]); 
相关问题