回覆列表
  • 1 # ralsu3942

      兩者的區別在於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格式:輸出指標地址

  • 中秋節和大豐收的關聯?
  • 汽機打閘具體怎樣解釋?