面窝米饺 2020-07-09 11:14 采纳率: 100%
浏览 1066
已采纳

为何使用VS CODE 编译C代码时,#define宏定义无法正常使用

1.问题描述

使用VS CODE对《C primer plus中文版(第五版)》作业进行编写调试时,程序报错,无法正常使用#define宏定义。

2.代码

/*
使用for循环嵌套,最终输出
        $$$$$$$$
        $$$$$$$$
        $$$$$$$$
        $$$$$$$$
*/
#include <stdio.h>
#include <stdlib.h>
 #define number  8 ;
 #define row     4 ;

main()
{
   int i,j;
   char symbol = '$';
   for(i = 0; i < row;  i++ )
   {
       for (j = 0; j < number; j++)
       printf("%c",symbol);
       printf("\n");
   }
}

3报错

tempCodeRunnerFile.c: In function 'main':
tempCodeRunnerFile.c:17:22: error: expected expression before ';' token
    for(i = 0; i < row;  i++ )
                      ^
tempCodeRunnerFile.c:19:30: error: expected expression before ';' token
        for (j = 0; j < number; j++)
                              ^
PS C:\Users\zdl19\Desktop\TEST>

4处理方法

将主函数内“row”替换成“4”,“number”替换成“8”,程序编译通过,运行正常。

  • 写回答

1条回答 默认 最新

  • qq_29366533 2020-07-09 11:19
    关注

    #define语句 结尾不要分号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?