对于换行这个动作,Unix下一般只有一个 0x0A 表示换行("\n"),Windows 下一般都是 0x0D 和 0x0A 两个字符,即 0D0A("\r\n"),苹果机(MAC OS系统)则采用回车符 CR 表示下一行("\r")。
Unix 系统中:每行结尾只有 "<换行>",即 "\n";
Windows 系统中:每行结尾是 "<回车><换行>",即 "\r\n";
Mac 系统中:每行结尾是 "<回车>",即 "\r"。
不同系统所定义的换行格式不同,导致的直接后果是,Unix/Mac 系统下的文件在 Windows 里打开的话,所有文字会变成一行;而 Windows 里的文件在 Unix/Linux 下打开的话,在每行的结尾会多车一个 ^M 字符。
在编写代码时,可考虑如下形式
#include<stdio.h> #include<stdlib.h> int main() { int num_1,num_2,sum,N,T; char ch; scanf("%d",&T); while(T--){ scanf("%d",&N); sum = num_2 = num_1 = 0; if(N!=0){ for(int i = 0; i<N;i++){ scanf(" %c",&ch); //在这里添加了一个空格(space,ASCII码为32)于 %c前, if(ch==41){ if(num_1 == 0) sum++; else num_1--; } else if(ch==40) num_1++; } sum +=num_1; } printf("%d\n",sum); } return 0; }