解答:
因为字符串常量存储在程序存储器中,因而需要添加特定于MPLAB C18 的转换运算符(%S)来处理程序存储器数组(rom char [])中字符的输出:
#include <stdio.h>
rom char * foo = “Hello, world!”;
void main (void)
{
printf (“%S\n”, foo);
printf (“%S\n”, “Hello, world!”);
}
当输出一个far 程序存储器数组(far rom char [])时,请确认使用H 大小指定符(即%HS):
#include <stdio.h>
far rom char * foo = “Hello, world!”;
void main (void)
{
printf (“%HS\n”, foo);
} |