敲程式碼時的一些常用技巧

XDU_Skyline發表於2015-03-07

說明:本文總結的常用技巧不包含編譯器使用的技巧。

1.scanf作為迴圈條件

由於scanf無法讀入時返回EOF(-1),而-1按位取反即是0,因此有如下兩種寫法

寫法一:

int main()
{
	int n;
	while (scanf("%d", &n)!=EOF)
	{
		//主程式
	}
}

寫法二:

 

int main()
{
	int n;
	while (~scanf("%d", &n))
	{
		//主程式
	}
}

2.輸出一個換行符的若干方法

int main()
{
	printf("\n");
	cout << '\n';
	cout << endl;
	puts("");
	putchar(10);
}


3.防止多輸出空格的精簡寫法

int main()
{
    int n;
    int d[100];
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
        scanf("%d",&d[i]);
        for(int i=0;i<n;i++)
        printf("%d%c",d[i],i==n-1?'\n':' ');//寫法1

        for(int i=0;i<n;i++)
            printf("%d%c",d[i]," \n"[i==n-1]);//寫法2,這裡“ \n”實際是一個字串的首地址,該寫法類似於s[i]
    }
}





相關文章