任何程序都會(huì)用到stdio.h,所以這個(gè)跟隨機(jī)數(shù)函數(shù)沒(méi)多大關(guān)系,stdlib.h包含的是隨機(jī)數(shù)函數(shù)rand() 和隨機(jī)數(shù)函數(shù) srand(seed) 這兩個(gè)通常配套使用,srand(seed)意思是置一個(gè)隨機(jī)數(shù)種子,然后調(diào)用rand()函數(shù)得到一個(gè)-90~32767之間的整數(shù),置種子的時(shí)候我們要求種子是不一樣的,否則每次用rand()函數(shù)都會(huì)得到相同的結(jié)果。由于時(shí)間每一秒都會(huì)發(fā)生變化,因此我們選擇用時(shí)間作為隨機(jī)數(shù)種子,去實(shí)踐的函數(shù)time()就包含在time.h頭文件里,所以我們要用到time.h這個(gè)頭文件。
十年的貴南網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整貴南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“貴南網(wǎng)站設(shè)計(jì)”,“貴南網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
給個(gè)例子
我要隨即輸出一個(gè)整數(shù)
#include
#include
#include
void main()
{
int i;
srand(time(NULL));//置隨機(jī)數(shù)種子,沒(méi)有這句也能運(yùn)行,但是多次運(yùn)行這個(gè)程序的時(shí)候,隨后用rand()得到的數(shù)字會(huì)相同
i=rand();用rand()函數(shù)獲得隨機(jī)數(shù),然后賦給不變量i
printf("%d",i);
}
#includestdlib.h語(yǔ)句是指將 stdlib.h 包含到你的程序里面 。
stdlib 頭文件即standard library標(biāo)準(zhǔn)庫(kù)頭文件,stdlib 頭文件里包含了C、C++語(yǔ)言的最常用的系統(tǒng)函數(shù),該文件包含了的C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)的定義。
庫(kù)函數(shù)可以理解為工具包,系統(tǒng)已經(jīng)提供了一些基本的工具供你使用,比如printf函數(shù)可以實(shí)現(xiàn)輸出信息到控制臺(tái),scanf可以從鍵盤讀取輸入,每一個(gè)具體的工具都有自己所屬的工具包,也就是說(shuō)不同的庫(kù)函數(shù)都有自己所屬的.h文件,要用某一個(gè)庫(kù)函數(shù)就需要先導(dǎo)入它所屬的工具包才行,在語(yǔ)句中就是通過(guò)include來(lái)實(shí)現(xiàn)。
stdlib.h頭文件包括的常用的函數(shù)有malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。
首先,建議樓主找一本C語(yǔ)言方面的書(shū)籍看看。
一個(gè)C程序,一般是由兩部分組成的,頭文件和源文件,也就是“.h"文件和”.c"文件,程序中的各種函數(shù),常量,結(jié)構(gòu)體等都是在頭文件中聲明的,頭文件告訴程序中有這些函數(shù)等的定義,然后在.c文件中決定是怎么實(shí)現(xiàn)這些函數(shù)。
比如說(shuō)一個(gè)函數(shù)在頭文件里聲明
int function( int ,int);
但是這個(gè)function函數(shù)具體是做什么的,要在.c 源文件里面定義實(shí)現(xiàn)它。類似這樣的形式
#include" ***.h"
int function(int ,int)
{
//實(shí)現(xiàn)某些具體的功能,由自己決定。
printf(”%s","哈哈”);
}
所以呢,include 是一個(gè)預(yù)編譯包含頭文件,就像直接將函數(shù)的定義寫(xiě)在#include" ***.h"這一行所在的位置一樣。
C語(yǔ)言里面包含了很多的基本數(shù)據(jù)類型, int 就是其中的一種,表示是一個(gè)整數(shù)類型,類似的還有很多,如浮點(diǎn)數(shù),也就是小數(shù),char字符型等等,
printf則是也個(gè)顯示函數(shù),將某些結(jié)果顯示到你的屏幕上,它有很多控制格式,不妨找本C語(yǔ)法書(shū)看看。
多看,多讀,多寫(xiě),很快就上手了。
#include stdio.h //你少了個(gè)#
void sp(int *a) //so改成sp, 你在main函數(shù)中調(diào)用的是sp
{
int k=b=2; //少了個(gè)分號(hào)
*a=*a*2; //a原先為3,然后乘以2改為6
printf("%d",*a); //這里輸出6
a=b; //a是在這個(gè)函數(shù)中定義的一個(gè)指針變量,注意:a是一個(gè)變量,存放地址
//a首先存放傳遞過(guò)來(lái)的k的地址,所以a先指向傳遞的k(即main中的k)
//前面已經(jīng)利用傳遞的k的地址修改k的值為6
//現(xiàn)在指針變量a現(xiàn)在保存本函數(shù)所定義的b(2)的地址。
*a=*a*2; //此時(shí)保存的是b的地址,所以是修改b的值。b*2就是2*2=4
pritnf("%d,",*a); //輸出4,a指針此時(shí)指向b。 傳遞過(guò)來(lái)main中k的地址在修改為6后本函數(shù) //就沒(méi)有在修改過(guò)了,所以main中的k此時(shí)的值還是6
}
int main() //雖然你那樣有些編譯器可以通過(guò),但是main也是一個(gè)函數(shù),最好寫(xiě)上返回類型
{
int k=3;
sp(k);
printf("%d/n",k); //調(diào)用的函數(shù)就修改一次。輸出6
return 0;
}