虽然这是一个基本问题,但确切情况与平均值不同。我有char board [] = {" 13572"}代表一个板(数组的索引是板的行,int(表示为char)是该行中的元素数如果用户输入" 3 3"这意味着他们想要将索引2处的元素数量更改为2(或者当用户看到它将第3行中的元素数量更改为2时,也是用户认为索引对于Y为1-4,对于X为1-7,将板改为{" 13272"}。我遇到的问题是输入可以将所选行中的值更改为' /'或' 0'而不是所需的值。感谢任何建议,相关功能如下:
此外,董事会是一个全球变量。 将数组中的字符更改为整数(单个数字):
int bd2int (char board[], int index){
char buff[2] = {board[index],'\0'};
return atoi(buff);
}
根据移动更改电路板(char移动[3]格式" X Y"):我认为问题出在这里,如果索引2被更改,则将电路板打印为字符串时,电路板将只打印到索引1,表示一个' \ 0'被插入索引2。
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;
}
答案 0 :(得分:0)
感谢您的帮助,问题是行board[y-1] = (char)x;
我找到了一种更准确的方法将int x转换为char x,解决了此问题:https://stackoverflow.com/questions/1114741/how-to-convert-int-to-char-c