兩者的區別在於puts的功能更單一,只能輸出字串,而printf可以根據給定的格式輸出多種型別的資料。 1、puts()函式用來向標準輸出裝置(螢幕)寫字串並換行,其呼叫方式為,puts(s);其中s為字串字元(字串陣列名或字串指標)。#include <stdio.h>int main(){ char string[] = "This is an example output string\n"; puts(string); return 0;} 2、printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。 printf()函式的呼叫格式為:printf("<格式化字串>",<參量表>)。 格式輸出,它是c語言中產生格式化輸出的函式(在stdio.h中定義)。用於向終端(顯示器、控制檯等)輸出字元。格式控制由要輸出的文字和資料格式說明組成。要輸出的的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些跳脫字元表示特殊的含義。 示例:透過printf函式輸出字串、有符號整數、單精度浮點數、雙精度浮點數。#include<stdio.h>int main(){printf("%s\t%d%\t%f\t%e\n", "hello world", 1, 1.1f , 1.1); return 0;} 3、printf控制字元的格式: ①d格式:用來輸出十進位制整數。有以下幾種用法: %d:按整型資料十進位制的實際長度輸出。 %md:m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。 %ld:輸出長整型資料。 ②o格式:以無符號八進位制形式輸出整數。 %d:按整型資料八進位制的實際長度輸出。 %lo:對長整型可以用格式輸出 %mo:指定欄位寬度用格式輸出 ③x格式:以無符號十六進位制形式輸出整數。 %x:按整型資料十六進位制的實際長度輸出。 %lx:對長整型可以用格式輸出 %mx:指定欄位寬度用格式輸出 ④u格式:以無符號十進位制形式輸出整數。 %u:按無符號整型資料十進位制的實際長度輸出。 %lu:對長整型可以用格式輸出 %mu:指定欄位寬度用格式輸出 ⑤c格式:輸出一個字元。 ⑥s格式:用來輸出一個串。有幾中用法 %s:例如:printf("%s","CHINA")輸出"CHINA"字串(不包括雙引號)。 %ms:輸出的字串佔m列,如字串長度大於m,將字串全部輸出。若串長小於m,則左補空格。 %-ms:如果串長小於m,則在m列範圍內,字串向左靠,右補空格。 %m.ns:輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。 %-m.ns:其中m、n含義同上,n個字元輸出在m列範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。 ⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。有以下幾種用法: %f:不指定寬度,整數部分全部輸出並輸出6位小數。 %m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。 %-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。 ⑧e格式:以指數形式輸出實數。可用以下形式: %e:數字部分(又稱尾數)輸出6位小數,指數部分佔5位或4位。 %m.ne和%-m.ne:m、n和”-”字元含義與前相同。 此處n指資料的數字部分的小數位數,m表示整個輸出資料所佔的寬度。 ⑨p格式:輸出指標地址
兩者的區別在於puts的功能更單一,只能輸出字串,而printf可以根據給定的格式輸出多種型別的資料。 1、puts()函式用來向標準輸出裝置(螢幕)寫字串並換行,其呼叫方式為,puts(s);其中s為字串字元(字串陣列名或字串指標)。#include <stdio.h>int main(){ char string[] = "This is an example output string\n"; puts(string); return 0;} 2、printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。 printf()函式的呼叫格式為:printf("<格式化字串>",<參量表>)。 格式輸出,它是c語言中產生格式化輸出的函式(在stdio.h中定義)。用於向終端(顯示器、控制檯等)輸出字元。格式控制由要輸出的文字和資料格式說明組成。要輸出的的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些跳脫字元表示特殊的含義。 示例:透過printf函式輸出字串、有符號整數、單精度浮點數、雙精度浮點數。#include<stdio.h>int main(){printf("%s\t%d%\t%f\t%e\n", "hello world", 1, 1.1f , 1.1); return 0;} 3、printf控制字元的格式: ①d格式:用來輸出十進位制整數。有以下幾種用法: %d:按整型資料十進位制的實際長度輸出。 %md:m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。 %ld:輸出長整型資料。 ②o格式:以無符號八進位制形式輸出整數。 %d:按整型資料八進位制的實際長度輸出。 %lo:對長整型可以用格式輸出 %mo:指定欄位寬度用格式輸出 ③x格式:以無符號十六進位制形式輸出整數。 %x:按整型資料十六進位制的實際長度輸出。 %lx:對長整型可以用格式輸出 %mx:指定欄位寬度用格式輸出 ④u格式:以無符號十進位制形式輸出整數。 %u:按無符號整型資料十進位制的實際長度輸出。 %lu:對長整型可以用格式輸出 %mu:指定欄位寬度用格式輸出 ⑤c格式:輸出一個字元。 ⑥s格式:用來輸出一個串。有幾中用法 %s:例如:printf("%s","CHINA")輸出"CHINA"字串(不包括雙引號)。 %ms:輸出的字串佔m列,如字串長度大於m,將字串全部輸出。若串長小於m,則左補空格。 %-ms:如果串長小於m,則在m列範圍內,字串向左靠,右補空格。 %m.ns:輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。 %-m.ns:其中m、n含義同上,n個字元輸出在m列範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。 ⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。有以下幾種用法: %f:不指定寬度,整數部分全部輸出並輸出6位小數。 %m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。 %-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。 ⑧e格式:以指數形式輸出實數。可用以下形式: %e:數字部分(又稱尾數)輸出6位小數,指數部分佔5位或4位。 %m.ne和%-m.ne:m、n和”-”字元含義與前相同。 此處n指資料的數字部分的小數位數,m表示整個輸出資料所佔的寬度。 ⑨p格式:輸出指標地址