#define a b + c confusion ..我没有得到我预期的输出

0 c++

   #include <iostream>
   using namespace std;
   # define p 5+3
   int main() {
    //code

    int i=p*p;
   cout<<i;

    return 0;
     }
Run Code Online (Sandbox Code Playgroud)

预期产量:64实际产量:23 howwW ?? 我不明白

mch*_*mch 7

p将被替换为5+3.所以这条线int i=p*p;int i=5+3*5+3;.*排名高于+,所以结果是23.

你需要批准你的定义:

#define p (5+3)
Run Code Online (Sandbox Code Playgroud)