单项选择题

设有定义:#define STR "12345";,则以下叙述中正确的是 ( )

A.宏名STR代替的是数值常量12345
B.宏定义以分号结束,编译时一定会产生错误信息
C.宏名STR代替的是字符串"12345";
D.宏名STR代替的是字符串常量"12345"