c++ - 有人可以帮我解释一下tic tac toe的一些代码行吗?
问题描述
我是 C++ 的新手,看了 5 到 6 个小时的一些 C++ 教程。
我不知道该学什么,所以决定看一个 c++ 的教程,然后有点追随 youtuber 正在做的事情。
虽然我正在处理它,但我没有得到几行代码
int main( int argc, char *argv[])
grid[x][y] = to_string(number).c_str()[0];
首先,我不知道我们可以将一些参数放在主函数括号内,我不明白
to_string(number).c_str()[0]
有人可以解释这些吗?
#include <iostream>
#define GRID_SIZE 3
using namespace std;
int main( int argc, char *argv[]){
char grid[GRID_SIZE][GRID_SIZE];
int number = 1;
for (int x = 0; x < GRID_SIZE; x++){
for(int y = 0; y < GRID_SIZE; y++){
grid[x][y] = to_string(number).c_str()[0];
number += 1;
}
}
printf("\n------------\n");
for (int x = 0; x < GRID_SIZE; x++){
for (int y = 0; y < GRID_SIZE; y++){
printf(" %c |", grid[x][y]);
}
printf("\n------------\n");
}
return 0;
}
解决方案
它从最左边的数字获取字符number
。它可以做得更短
to_string(number)[0]
假设number
是12,那么to_string(number)
是“12”,最后to_string(number)[0]
是“1”。
number
假设在 0 到 9 之间,它可以做得更短。
number + '0'
推荐阅读
- php - 我想在不同的页面上显示随机图像,而不需要从 php 中的数据库中重复
- appium - 我们应该使用哪个驱动程序在 appium 中创建页面对象模型
- python - 目标检测分类报告
- php - 仅当从mysql数据库中选择了一行时如何执行一段python代码
- azure - Azre Data Explorer 数据连接自动化
- android - 无法在 dsl Kotlin 的构建 gradle 应用程序级别中使用 android
- android - 使用android room以mvvm模式从数据库中提取数据时在哪里放置逻辑?
- asp.net - 获取执行特定存储过程的应用程序名称
- c# - 如何设计和打印 rdlc 报告作为收据?
- r - 使用 lmer - 混合模型仅为一个嵌套组指定随机斜率