小编pai*_*ind的帖子

修改作为函数传入的字符串文字

如果我在程序中有一个函数

int main(){
   char *name = "New Holland";
   modify(name);
   printf("%s\n",name);
}
Run Code Online (Sandbox Code Playgroud)

调用这个函数

void modify(char *s){
   char new_name[10] = "Australia";
   s = new_name;         /* How do I correct this? */
}
Run Code Online (Sandbox Code Playgroud)

如何使用澳大利亚更新字符串文字名称(现在等于新荷兰)的值。

我认为我面临的问题是new_name是本地存储,所以函数返回后,变量没有存储

c pointers pass-by-reference pass-by-value string-literals

4
推荐指数
1
解决办法
8566
查看次数

Ruby正则表达式(正则表达式):字符最多只出现一次

假设我想确保字符串x等于abcd的任何组合(每个字符出现一次或零次 - >每个字符不应重复,但组合可能以任何顺序出现)

  1. 有效的ex:bc .. abcd ... bcad ... b ... d .. dc
  2. 无效的前.abcdd,cc,bbbb,abcde(ofcourse)

我的努力:我尝试了各种技巧:我最接近的是x =〜^(((a)?(b)?(c)?(d)?))$

但是,如果我不按照我写的顺序输入它们,这将不起作用:

  1. 适用于:ab,acd,abcd,a,d,c
  2. 不适用于:bcda,cb,da(任何不符合上述顺序的东西)

您可以在此处测试您的解决方案:http://rubular.com/r/wCpD355bub

PS:字符可能不是按字母顺序排列,也可能是字母顺序

ruby regex

4
推荐指数
1
解决办法
1840
查看次数