C中的外壳/开关无法正常工作

时间:2016-04-29 04:01:52

标签: c switch-statement

我正在为学校制作游戏这是一个基本的老虎机,它将随机生成数字并将数字转换为单独数组中的字符。这似乎不起作用,因为声明完全被忽略了。它没有给出正确的输出,有些时候它们只会出现空白。

输出:http://distorts.me/imgs/files/132ca7cc1da6fc459de3e498d8e12b9f.png

CN=Unix ADISID,OU=SA,OU=DGO,DC=dom,DC=ab,DC=com,1001
CN=1002--DS,OU=Process,DC=dom,DC=ab,DC=com,1002
CN=1003--Cyb,OU=SA,OU=DGO,DC=dom,DC=ab,DC=com,1003
CN=Doe--Joe,OU=Adm,DC=dom,DC=ab,DC=com,d1004
CN=cruise--bob,OU=SA,OU=DGO,DC=dom,DC=ab,DC=com,d1005

1 个答案:

答案 0 :(得分:5)

你忘记在每个案件之后保留break;因此它将运行所有案件,即从案件1到案件9。 最后它将保存randomChars[x] = '~';(案例9)。

case 1:
    randomChars[x] = '@';
    break;
case 2:
    randomChars[x] = '#';
    break;
    .
    .
    .
    .

case 7:
    randomChars[x] = '?';
    break;
case 8:
    randomChars[x] = '!';
    break;
case 9:
    randomChars[x] = '~';
    break;

编辑:

  • 当您没有返回任何值时,为什么函数返回类型为int。将int更改为void

  • 函数game()未在main()

  • 之前声明
  • 我得到这样的输出:
    enter image description here