注册 登录
编程论坛 C语言论坛

求助二维数组的赋值

奇数层 发布于 2022-09-02 20:10, 1093 次点击
void Place_mines(int board[ROW][COL], int row, int col)
{
    int x = 0;
    int y = 0;
    int num = 0;
    while (1)
    {
        x = rand() % 9;
        y = rand() % 9;
        if (board[x][y] == 1)
        {
            continue;
        }
        if (board[x][y] != 1)
        {
            board[x][y] = '1';
            num++;
        }
        if (num == 10)
        {
            break;
        }
    }
}


board[x][y] = '1';这里什么么要加‘’。我定义的是int啊?但如果不加,输出的1就会变成框框。
9 回复
#2
追梦人zmrghy2022-09-03 00:08
字符ASCII值。。。
字符‘1’等于49
#3
追梦人zmrghy2022-09-03 10:16
board[x][y] = '1';
改成
 board[x][y] = 49;
#4
奇数层2022-09-03 10:23
回复 2楼 追梦人zmrghy
我定义的是int类型的数组啊,但我现在如果要输出1,就只能加‘’,如果不加‘’,就会输出框框。int类型的输出1不是应该直接=1就行了吗?
#5
追梦人zmrghy2022-09-03 12:41
回复 4楼 奇数层
要看,输出时的类型。
你应该是用字符类型输出的。
#6
奇数层2022-09-03 13:53
回复 5楼 追梦人zmrghy
没懂,我就想输出1这个数字啊,那不应该是board[x][y]=1就行了吗
#7
追梦人zmrghy2022-09-03 15:06
回复 6楼 奇数层
字符ASCII值,不懂,没人能教会你。。。。
学前班的,知识点。。。
#8
mature1192022-09-03 19:50
#9
奇数层2022-09-03 20:22
回复 7楼 追梦人zmrghy
我知道char类型的数组存储的是字符的ASCALL码值,但int类型的不是存储的是数的本身吗,那为啥还要加‘’号。
#10
奇数层2022-09-04 16:12
回复 5楼 追梦人zmrghy
我搞错了,我printf的函数写了%c。。。。。。
1