无法使用 *p1 / *p2,因为它正在考虑将 /* 作为评论部分的开头

Not able to use *p1 / *p2 as it's considering /* as start of comment section

本文关键字:评论部 开头 p1 p2 因为      更新时间:2023-10-16

下面的代码看起来不错,但是当我尝试执行代码时,在k = *p1/*p2;行,/*被视为注释的开头。我怎样才能避免这种情况?

#include<iostream>
using namespace std;
int main()
{
  int n1=10,n2=2,k,*p1,*p2;
  p1=&n1,p2=&n2;
  k=*p1/*p2;
  cout<<k; return 0;
}

我试图放置//*而不是/*和所有其他转义字符,但它不起作用。

有没有像 Unix - sed -e 's/./. /g' -e 's/_/_ /g' 中那样的转义字符?

使用括号:

k = (*p1)/(*p2);

或更多间距:

k = *p1 / *p2;
通常,最好

用空格分隔操作数和运算符。所以而不是

  int n1=10,n2=2,k,*p1,*p2;
  p1=&n1,p2=&n2;
  k=*p1/*p2;

我会写

  int n1 = 10, n2 = 2, k, *p1, *p2;
  p1 = &n1, p2 = &n2;
  k = *p1 / *p2;

在这种情况下,不仅可以避免这种奇怪的事情,而且代码也更具可读性。