c - “%s”需要“char *”类型的参数,但参数的类型为“int”
问题描述
我确实看到了一个类似的问题,给出的解决方案是将其声明为 char 数组而不是 char。我这样做了,但仍然看到错误。
我的代码目前是这样的:
#include <stdio.h>
char ticTacToeBoard(char board[11])
{
printf("%s %s %s %s %s", board[0], board[10], board[1], board[10], board[2]);
}
int main()
{
char board[11] = {' ',' ',' ',' ',' ',' ',' ',' ',' ','__','|'};
ticTacToeBoard(board);
return 0;
}
错误在代码的 printf 行
解决方案
函数参数board
是一个 char 指针,因此当您尝试打印该 char 指针的索引时,它会取消引用该索引中的 char。所以发生的事情是你尝试打印一个字符串,但变量是一个字符。如果要打印字符,则需要将 更改%s
为%c
. 这样,您将从字符“数组”中的索引中打印所需的字符。
推荐阅读
- ruby-on-rails - 'bash' : 没有这样的文件或目录
- python - 尝试仅从 FTP 文件夹下载特定文件
- apache-nifi - 如何根据Nifi流中的给定年份范围获取每个月的第一个日期
- excel - sumproduct 作为字符串
- git - 在删除本地 Git 存储库之前,请检查是否没有丢失任何内容
- javascript - IE中的隐藏元素导致表单提交
- java - 任何 Hamcrest 匹配器,用于检查集合是否完全由 x,y 元素组成,无论顺序和基数如何
- javascript - office.js 将表格插入到 powerpoint
- angular - Angular 6:单选后的动作
- amazon-s3 - Amazon SageMaker:ClientError:数据下载失败:NoSuchKey (404):指定的密钥不存在