c语言绘制正弦曲线
如图 本帖最后由 ssffzz1 于 2023-1-6 22:01 编辑写的很板正。printf用法精妙。
char *b;
b是个指针,此时并未分配空间。后面用到b的时候,实际上是非法访问内存了。这里需要写成
char b;
程序能运行,依照课本上的说法完全是运气,但实际上是C语言堆栈分配的结果,还有一些运气性质。
可以将YMAX的值调到较大,即可验证问题。
version2. version2 run result. ssffzz1 发表于 2023-1-6 22:00
写的很板正。printf用法精妙。
char *b;
谢谢您的热心指导.请看第二版. 更正了一下. 更正了一下.请看图. 运行结果一致. 雪冬 发表于 2023-1-7 01:46
谢谢您的热心指导.请看第二版.
谈不上指导,共同进步。我也是个初学咋练。
知道这类问题的根因,还是直接看汇编代码来的直接。
要触发那个BUG,把YMAX改的比较大,或者把char *b ,放到int i ,j的前面。当然还是要看最终的编译器如何处理的,也就是说看汇编代码最直接。 论绘制图形,无论二维还是三维,matlab秒杀所有其它语言。 ssffzz1 发表于 2023-1-7 18:24
谈不上指导,共同进步。我也是个初学咋练。
您说的确实对,在iPad Linux 上发现了问题。 iPad上运行。 ssffzz1 发表于 2023-1-6 22:00
写的很板正。printf用法精妙。
char *b;
再次感谢您的指点。 运行结果是更正后的。更正前编译通过,运行失败。
页:
[1]