我在博客上使用syntaxhighlighter来格式化C ++代码。从最近几天开始,我在每行代码后的每一行之后得到额外的空白行。有关详细信息,请参阅此link。
以下是我在那里写的代码。我没有看到任何换行符。
//Define MAX 1 less so that adding 1 doesn't make it 0
#define MAX 0xFFFFFFFE;
unsigned int jump(int *array, int n)
{
unsigned int *result = new unsigned int[n];
int i, j;
//Boundry conditions
if (n == 0 || array[0] == 0)
return MAX;
result[0] = 0; //no need to jump at first element
for (i = 1; i < n; i++)
{
result[i] = MAX; //Initialization of result[i]
for (j = 0; j < i; j++)
{
//check if jump is possible from j to is
if (array[j] >= (i-j))
{
//check if better solution available
if ((result[j] + 1) < result[i])
result[i] = result[j] + 1; //updating result[i]
}
}
}
//return result[n-1]
unsigned int answer = result[n-1];
delete[] result;
return answer;
}
令人惊讶的是,这只发生在新帖子上,所有old posts目前都显示没有多余的空白行。
答案 0 :(得分:2)
您的源代码(在JavaScript之前)基本上如下所示:
<pre>
First line
<br />Another line
<br />Last line
</pre>
如果您使用的是<pre>
代码,则无需插入<br />
代码来强制换行,但如果您这样做,则应替换原始代码换行。
更新:我会用我们掌握的一些信息盲目猜测。您的代码使用Windows换行符(CR+LF
)保存到本地文件中。服务器运行Linux并应用替换Linux换行符(LF
)的函数。使用<br />
代码,最终得到CR<br />
。这会插入到<pre>
代码中,以便浏览器将其转换为两个连续的换行符。
我的假设似乎很可能是因为,如果您将HTML源代码保存到文件中并使用可显示换行符的文本编辑器打开它,它将显示该文件使用的是Linux样式(LF
)期待在代码段中,它使用CR
(旧的MacOS 9样式)。
解决方法:在将或复制与另一个编辑器或复制到另一个浏览器之前,将文件另存为Unix。