C 我的二维字段不打印其内容

C 我的二维字段不打印其内容,c,C,我刚刚在文件中试验了窦房结函数,想在一个二维场中绘制它。代码如下: char field[150][11]; for(int i = 0; i< 150; i++) { double value_of_sin = sin((i*M_PI)/180); value_of_sin *= 10; // to take an after-decimal-point number as 'second dimension' of my field int intpart

我刚刚在
文件中试验了窦房结函数,想在一个二维场中绘制它。代码如下:

char field[150][11];

for(int i = 0; i< 150; i++)
{   

   double value_of_sin = sin((i*M_PI)/180);
   value_of_sin *= 10; // to take an after-decimal-point number as 'second dimension' of my field
   int intpart = (int)value_of_sin;

  if(intpart > 0) //still grows
     field[i][intpart] = '%';

  else 
  {   
     intpart *= -1; //the sin function is dropping here so i need positive numbers
     field[i][intpart] = '%';
  }   
}

for(int i =0; i<11; i++)
{   
  for(int j =0; j<150; j++)
     printf("%i",field[j][i]);

  printf("\n");
}  
char字段[150][11];
对于(int i=0;i<150;i++)
{   
_sin的双值_=sin((i*M_PI)/180);
_sin*=10;的值_;//将小数点后的数字作为我的字段的“第二维度”
int intpart=(int)的值;
如果(intpart>0)//仍在增长
字段[i][intpart]=“%”;
其他的
{   
intpart*=-1;//sin函数在这里下降,所以我需要正数
字段[i][intpart]=“%”;
}   
}
对于(int i=0;i
printf(“%c”,字段[i][j]);
我们应该做到这一点


发生的情况是;printf正在查找整数类型,因此当它打印字段[i][j]时,它打印的是十进制值,而不是您要查找的ascii值。

尝试
%c
而不是
%i”
在printf中。添加到@user3386109注释中,请参见这里的示例:请提供一个。关于您显示的代码,有几点不清楚。@Yunnosch您的确切意思是什么?是的,那真是个愚蠢的错误,我可能是不小心犯的,无论如何,谢谢