printf,即打印函數,即將傳入的傳輸打印到屏幕上來,重點在於打印到屏幕上,而不是"輸出"這個概念,輸出多是在函數這個黑盒子裏進行了數據運算,可是屏幕前的你我是看不見,其格式爲
'printf("我是一個字符串");'
而return 則是返回值,什麼是函數的返回值?通常是將這個函數對數據處理後的結果返回出來,若是沒有返回值,會發生什麼呢?
#include<stdio.h> int main(void) { int a; a = max(1,2); printf(a); return 0; } int max(int x,int y) { int max; if (x > y) max = x; else max = y; }
#include<stdio.h> int main(void) { int a; a = max(1,2); printf(a); return 0; } int max(int x,int y) { int max; if (x > y) max = x; else max = y; return 100; }
咱們會發現打印出來是100,爲何呢?這是由於a = max(1,2);
這個語句實際上包含了兩個步驟:函數
return max
才行.一般返回值的類型在定義函數的時候須要在函數頭說明.入這裏的int max
前面的int
就是返回值類型.max(1,2)
就是一個返回值.這個返回值實際就是一個數,所以咱們能夠把它做爲數值計算,如max(1,2) * 1
,或者做爲另外一個函數的傳入參數,如sqrt(max(1,2))
,一般咱們會遇到一個報錯,說把函數做爲一個參數傳入,那麼極可能就是由於咱們沒有爲這個函數傳入參數,而又沒有使用函數指針,不能將函數做爲參數傳入#include<stdio.h> int main(void) { int a; a = printf("Hello World!"); printf("%d",a); return 0; }
實際上我跑一下就會發現咱們a是有值的,若是咱們多試幾回,就會發現返回值實際上是字符串的長度,實際上,若是printf跑出問題了,返回值會是一個負數.這在實際的應用中是有一些應用價值的.指針