变量仅拾取传递的字符串的一个字母

马歇尔·泰格斯(Marshall Tigerus)

我一直在将测试功能设计为分配的一部分,但我只停留在一个部分上。基本上,为了使循环退出,我需要将状态设置为9,将s字符串设置为“ reset \ 0”。在测试中,我可以达到状态9,这意味着inputChar()可以按需工作。另一个测试表明inputString()正在生成有效的字符串,但是s无法正确获取该值。我认为这一定是一个指针问题,但经过一阵子修补后,我无法弄清楚是什么。

int RandInt(int low, int high) {
  return low + rand() % (high - low + 1);
}

char inputChar()
{
    return RandInt(' ', '}');
}    

char *inputString()
    {
    int i;    
    char* iString[6];

    for (i = 0; i< 5; i++){
        iString[i] = RandInt('e', 't');
    }
    iString[5] = '\0';
    return iString;
}

void testme()
{
  int tcCount = 0;
  char *s;
  char c;
  int state = 0;
  while (1)
  {
    tcCount++;
    c = inputChar();
    s = inputString();
    printf("Iteration %d: c = %c, s = %s, state = %d\n", tcCount, c, s, state);

    if (c == '[' && state == 0) state = 1;
    if (c == '(' && state == 1) state = 2;
    if (c == '{' && state == 2) state = 3;
    if (c == ' '&& state == 3) state = 4;
    if (c == 'a' && state == 4) state = 5;
    if (c == 'x' && state == 5) state = 6;
    if (c == '}' && state == 6) state = 7;
    if (c == ')' && state == 7) state = 8;
    if (c == ']' && state == 8) state = 9;
    if (s[0] == 'r' && s[1] == 'e'
       && s[2] == 's' && s[3] == 'e'
       && s[4] == 't' && s[5] == '\0'
       && state == 9)
    {
      printf("error ");
      exit(200);
    }
  }
}

运行s的输入将永远运行,因为s只是单个字符,而不是“ reset \ 0”

尼克佩尔7

函数inputString返回其自动变量的地址,该变量将在您尝试使用它时立即引起未定义的行为。您可以修改inputString函数以接收指针作为其参数,并通过此函数提供其输出。

例如:

void inputString(char *iString)
{
    int i;    

    for (i = 0; i< 5; i++){
        iString[i] = RandInt('e', 't');
    }

    iString[5] = '\0';
}

并使用以下逻辑调用该函数:

char iString[6];

inputString(iString);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python argparse nargs ='+'尝试传递多个字符串,但脚本在第一个字符串之后未拾取字符串

来自分类Dev

如何检查一个字符串变量中的每个字母?

来自分类Dev

PowerShell仅打印字符串的第一个字母

来自分类Dev

仅显示每个单词的字符串的第一个字母

来自分类Dev

递增一个字母字符串

来自分类Dev

Pinvoke字符串中仅传递第一个字符

来自分类Dev

传递一个字符串变量来重命名函数pandas

来自分类Dev

如何仅输出字符串中每个单词的第一个字母?Visual Basic

来自分类Dev

PHP-Foreach循环仅回显字符串的第一个字母

来自分类Dev

仅显示最后一个字符串的字符串数组

来自分类Dev

仅显示最后一个字符串的字符串数组

来自分类Dev

计算一个字符串中的多个字母组

来自分类Dev

在作为字母的字符串中查找第一个字符

来自分类Dev

REGEXTRACT-匹配字符串中用特殊字符表示的一个字母

来自分类Dev

根据下一个字母数字字符分割字符串

来自分类Dev

删除字符串JS的最后一个字母之后的所有字符

来自分类Dev

正则表达式验证仅具有小写字母的字符串,第一个字符必须为字母

来自分类Dev

正则表达式以验证仅具有小写字母的字符串,第一个字符必须为字母

来自分类Dev

如何获取字符串中的n个最后一个字母

来自分类Dev

Shell脚本仅替换变量中的第一个字符串

来自分类Dev

如何一次显示一个字母的字符串?

来自分类Dev

Python连接一个字符串和一个变量

来自分类Dev

在Java中一个字母一个字母地合并两个字符串?

来自分类Dev

php变量,字符串和数组:关联数组返回字符串的第一个字母

来自分类Dev

php变量,字符串和数组:关联数组返回字符串的第一个字母

来自分类Dev

检查一个字符串是否由另一个字符串用相同的字母组成

来自分类Dev

如何检查一个字符串的字母是否在另一个字符串中以给定的顺序存在?

来自分类Dev

大写字符串的第一个字母

来自分类Dev

在AngularJs中大写字符串的第一个字母

Related 相关文章

  1. 1

    Python argparse nargs ='+'尝试传递多个字符串,但脚本在第一个字符串之后未拾取字符串

  2. 2

    如何检查一个字符串变量中的每个字母?

  3. 3

    PowerShell仅打印字符串的第一个字母

  4. 4

    仅显示每个单词的字符串的第一个字母

  5. 5

    递增一个字母字符串

  6. 6

    Pinvoke字符串中仅传递第一个字符

  7. 7

    传递一个字符串变量来重命名函数pandas

  8. 8

    如何仅输出字符串中每个单词的第一个字母?Visual Basic

  9. 9

    PHP-Foreach循环仅回显字符串的第一个字母

  10. 10

    仅显示最后一个字符串的字符串数组

  11. 11

    仅显示最后一个字符串的字符串数组

  12. 12

    计算一个字符串中的多个字母组

  13. 13

    在作为字母的字符串中查找第一个字符

  14. 14

    REGEXTRACT-匹配字符串中用特殊字符表示的一个字母

  15. 15

    根据下一个字母数字字符分割字符串

  16. 16

    删除字符串JS的最后一个字母之后的所有字符

  17. 17

    正则表达式验证仅具有小写字母的字符串,第一个字符必须为字母

  18. 18

    正则表达式以验证仅具有小写字母的字符串,第一个字符必须为字母

  19. 19

    如何获取字符串中的n个最后一个字母

  20. 20

    Shell脚本仅替换变量中的第一个字符串

  21. 21

    如何一次显示一个字母的字符串?

  22. 22

    Python连接一个字符串和一个变量

  23. 23

    在Java中一个字母一个字母地合并两个字符串?

  24. 24

    php变量,字符串和数组:关联数组返回字符串的第一个字母

  25. 25

    php变量,字符串和数组:关联数组返回字符串的第一个字母

  26. 26

    检查一个字符串是否由另一个字符串用相同的字母组成

  27. 27

    如何检查一个字符串的字母是否在另一个字符串中以给定的顺序存在?

  28. 28

    大写字符串的第一个字母

  29. 29

    在AngularJs中大写字符串的第一个字母

热门标签

归档