puts

puts

puts()函數用來向標準輸出設備(屏幕)輸出字元串並換行,具體為:把字元串輸出到標準輸出設備,將'\0'轉換為回車換行。其調用方式為,puts(s);其中s為字元串字元(字元串數組名或字元串指針)。

程序例


初學者要注意以下例子
從此例中可看到puts輸出字元串時要遇到'\0’也就是字元結束符才停止,如上面的程序加上一句string='\0';
1
2
3
4
5
6
7
#include 
int main(void)
{
char string[] = "This is an example output string\n";
puts(string);
return 0;
}
從此例中可看到puts輸出字元串時要遇到'\0’也就是字元結束符才停止,如上面的程序加上一句string[10]='\0';
1
2
3
4
5
6
7
8
9
10
11
12
13
#include 
#include 
int main(void)
{
int i;
char string[20];
for(i=0;i<10;i++)
string[i]='a';
string[10]='\0';
puts(string);
getch();
return 0;
}
運行就正確了

說明


(1).puts()函數只能輸出字元串,不能輸出數值或進行格式變換。
(2).可以將字元串直接寫入puts()函數中。如:
puts("Hello, world!");
(3).puts和printf的用法一樣,puts()函數的作用與語句“printf("%s\n",s);的作用相同。注意:puts在輸出字元串後會自動輸出一個回車符。
puts()函數的一種實現方案如下:
puts()函數的一種實現方案如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int puts(const char * string) 
{ 
const char * t = string; 
const char * v = string; 
int i = 0; 
while(*t!='\0') 
{ 
i++; 
t++; 
} 
int j = 0; 
for(j;j<=i;j++) 
putchar((v[j])); 
putchar('\n');
return 0; 
}

函數的區別


printf、putchar和puts函數均為輸出函數。printf函數可輸出各種不同類型的數據,putchar函數只能輸出字元數據,而puts函數可輸出字元串數據。
puts(s)的作用與語句printf("%s”,s)的作用基本相同,puts()函數只能輸出字元串,不能輸出數值或進行格式變換。puts()函數在輸出字元串後會自動輸出一個回車符。
例如printf(”%c”,'A')與putchar('A')都是輸出一個字元A。
printf(”%c\n”,”F'’)與puts(”F”)都是輸出字元F並換行