我试图打印出计算器的主板,但不知道如何打印数字和字符串。这是我的代码:
const db = monk('localhost:27017/test', ...);
db.options = {
safe : true,
castIds : false
};
编译代码时,出现错误:
错误:指向整数转换的不兼容指针初始化' int' 表达式为' char [2]'
关于如何解决此问题的任何想法/提示?
答案 0 :(得分:2)
您的array1
混合C
中不允许的整数和字符串。根据您的情况,您可能希望切换到char数据类型并对所有字符使用相同的print语句。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j;
char array1[4][4] = {
{'7','8','9','%'},
{'4','5','6','x'},
{'1','2','3','-'},
{'0','.','+','='}};
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%c", array1[i][j]);
}
printf("\n");
}
}
答案 1 :(得分:1)
C是strongly typed language。这意味着您不能只在int
数组中放置任何值。 int
与Javascript中的var
不同,它是一种内置类型,只能存储数字整数值(不叮咬!)。
我可以看到你试图只使用一个字符长的字符串和一位数的数字,也许是一个更合适的类型char
:
char array1[4][4] = {
{'7','8','9','%'},
{'4','5','6','x'},
{'1','2','3','-'},
{'0', '.', '+','='}
};
现在您可以使用以下方式打印矩阵:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%c", array1[i][j]);
}
printf("\n");
}