C:改变字符串中的字符
C: Change char in string
虽然这是一道基础题,但具体情况与一般情况不同。我有 char board[] = {"13572"} 表示板(数组的索引是板的行,int(表示为 char)是该行中的元素数。如果用户输入“3 3”表示他们想将索引 2 处的元素数更改为 2(或者正如用户所见,它将第 3 行中的元素数更改为 2,用户也认为索引从 1-4 为Y 和 1-7 代表 X),将板更改为 {“13272”}。我遇到一个问题,即输入可以将所选行中的值更改为“/”或“0”,而不是所需的值。任何建议不胜感激,相关功能如下:
此外,board 是一个全局变量。
将数组中的字符更改为整数(单个数字):
int bd2int (char board[], int index){
char buff[2] = {board[index],'[=10=]'};
return atoi(buff);
}
changes the board based on move (char move[3] in format "X Y"): 我相信问题就在这里,如果索引 2 被更改,将板作为字符串打印时,板将只打印到索引 1,表示在索引 2 处插入了 '\0'。
int update(char move[]){
int x;
int y;
x = bd2int(move,0);
y = bd2int(move,2);
x--;
board[y-1] = (char)x;
totalElements= bd2int(board,0)+bd2int(board,1)+bd2int(board,2)+bd2int(board,3);
return 1;
}
感谢您的帮助,问题出在行 board[y-1] = (char)x;
我找到了一种更准确的将 int x 转换为 char x 的方法,解决了这里的问题:
虽然这是一道基础题,但具体情况与一般情况不同。我有 char board[] = {"13572"} 表示板(数组的索引是板的行,int(表示为 char)是该行中的元素数。如果用户输入“3 3”表示他们想将索引 2 处的元素数更改为 2(或者正如用户所见,它将第 3 行中的元素数更改为 2,用户也认为索引从 1-4 为Y 和 1-7 代表 X),将板更改为 {“13272”}。我遇到一个问题,即输入可以将所选行中的值更改为“/”或“0”,而不是所需的值。任何建议不胜感激,相关功能如下:
此外,board 是一个全局变量。 将数组中的字符更改为整数(单个数字):
int bd2int (char board[], int index){
char buff[2] = {board[index],'[=10=]'};
return atoi(buff);
}
changes the board based on move (char move[3] in format "X Y"): 我相信问题就在这里,如果索引 2 被更改,将板作为字符串打印时,板将只打印到索引 1,表示在索引 2 处插入了 '\0'。
int update(char move[]){
int x;
int y;
x = bd2int(move,0);
y = bd2int(move,2);
x--;
board[y-1] = (char)x;
totalElements= bd2int(board,0)+bd2int(board,1)+bd2int(board,2)+bd2int(board,3);
return 1;
}
感谢您的帮助,问题出在行 board[y-1] = (char)x;
我找到了一种更准确的将 int x 转换为 char x 的方法,解决了这里的问题: