我正在尝试生成一些随机名称,但遇到了问题。以下是我尝试选择字母的方法:
char alf[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char letter = alf[rand()%26];
printf("%s\n", alf);
printf("%s\n", letter);
它可以编译,但是当我尝试运行它时,我在第一个 printf 之后出现段错误,并发出警告:
format '%s'expects argument of type 'char*', but argument 2 has type 'int'
我做错了什么?
最佳答案
letter
是单个字符,因此,您应该使用 %c
而不是 %s
来正确格式化它。
有关 printf 格式的更多信息,请访问此页面:http://www.cplusplus.com/reference/cstdio/printf/?kw=printf
关于c - C 中的随机字母 [段错误],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158055/