【问题标题】:Random letter in C [Segmentation fault]C中的随机字母[分段错误]
【发布时间】:2015-05-23 08:41:28
【问题描述】:

我正在尝试生成一些随机名称,但遇到了一个问题。以下是我尝试选择字母的方法:

char alf[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char letter = alf[rand()%26];  
printf("%s\n", alf);
printf("%s\n", letter);

它可以编译,但是当我尝试运行它时,在第一次 printf 后出现分段错误,并警告:

格式“%s”需要“char*”类型的参数,但参数 2 的类型为“int”

我做错了什么?

【问题讨论】:

    标签: c arrays char segmentation-fault


    【解决方案1】:

    letter 是单个字符,因此,您应该使用%c 而不是%s 来正确格式化它。

    有关 printf 格式的更多信息,请访问此页面:http://www.cplusplus.com/reference/cstdio/printf/?kw=printf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 2010-12-26
      相关资源
      最近更新 更多