c語言如何給函數(shù)賦值 c語言怎么給函數(shù)賦值

c語言如何調(diào)用自定義的賦值函數(shù)

在scanf中不要用\n.

十載的北海街道網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(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ǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“北海街道網(wǎng)站設(shè)計(jì)”,“北海街道網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

如果要忽略一個(gè)字符.

可以

getchar();

scanf("%c", C);另外

要傳給主函數(shù),

需要指針,

或者用

返回值

.

void info (char *C)

{

getchar();

scanf("%c", C);

}調(diào)用的時(shí)候

info (A);

info (B);

c語言中,char怎么賦值

1、char類型,也就是常說字符類型。char類型和其它類型一樣在定義和初始化上可以先聲明(定義),再賦值(初始化)。使用char來定義一個(gè)字符,通過單引號(hào)括起來的單個(gè)字符賦值給它。

2、當(dāng)然你也可以在定義變量的時(shí)候就初始化(也就是在聲明的時(shí)候賦值)。

3、注意字符并不意味著字母,單引號(hào)括起來的單個(gè)字符。所謂單個(gè)字符可以是數(shù)字、中文之類的。

4、字符類型可以自動(dòng)轉(zhuǎn)化為存儲(chǔ)空間比它大的int類型。例如下面的例子,c是字符,把它賦值int類型的i1時(shí),卻不報(bào)錯(cuò)就是因?yàn)樽詣?dòng)轉(zhuǎn)化。

5、int轉(zhuǎn)化為字類型時(shí)(這種是屬于存儲(chǔ)空間由大向小的轉(zhuǎn)化),則需要強(qiáng)轉(zhuǎn)。

6、加了強(qiáng)制轉(zhuǎn)換這后,它就不報(bào)錯(cuò)了。

c語言結(jié)構(gòu)體函數(shù)指針怎么賦值

指針就是指向內(nèi)存的某個(gè)地址的一個(gè)變量。

結(jié)構(gòu)體指針就是這個(gè)指針變量的值必須指向存放該結(jié)構(gòu)體的內(nèi)存位置。

當(dāng)這個(gè)指針沒有任何指向時(shí),可以賦值為null值,但是改指針不可使用,程序中應(yīng)該做判斷。下面是一些賦值演示。

struct student{

int id;

int score;

} aaa;

struct student *p = null;//結(jié)構(gòu)體指針p初始化賦值為null

struct student *p2=aaa;//p2指向aaa

struct student *p3=(struct student *)malloc(sizeof(struct student));//內(nèi)存中申請(qǐng)一個(gè)結(jié)構(gòu)體空間,并將地址強(qiáng)制轉(zhuǎn)換為結(jié)構(gòu)體指針變量賦值給p3

C語言中輸入函數(shù)賦值?

n = scanf("%d",n);

這一句有問題

1. scanf 函數(shù)是有返回值的,它的返回值可以分成三種情況

1) 正整數(shù),表示正確輸入?yún)?shù)的個(gè)數(shù)。

例如執(zhí)行 scanf(“%d %d”, a, b);

如果用戶輸入”3 4”,可以正確輸入,返回2(正確輸入了兩個(gè)變量);

如果用戶輸入”3,4”,可以正確輸入a,無法輸入b,返回1(正確輸入了一個(gè)變量)。

2) 0,表示用戶的輸入不匹配,無法正確輸入任何值。如上例,用戶如果輸入”,3 4”,返回0。

3) EOF,這是在 stdio.h 里面定義的常量(通常值為-1),表示輸入流已經(jīng)結(jié)束。在Windows下,用戶按下CTRL+Z(會(huì)看到一個(gè)^Z字符)再按下回車(可能需要重復(fù)2次),就表示輸入結(jié)束;Linux/Unix下使用CTRL+D表示輸入結(jié)束。

你這個(gè)輸入一個(gè)返回值就是1,因此n也會(huì)一直等于一

C語言問題編寫賦值函數(shù)

#includestdio.h

#includestdlib.h

int assignment(int *,int);

void print(int *,int);

void main()

{

int sz,rt;

int *p; //定義一個(gè)指針,在子函數(shù)里再動(dòng)態(tài)分配內(nèi)存

printf("輸入data的數(shù)據(jù)元素個(gè)數(shù):");

scanf("%d",sz);

rt=assignment(p,sz); //調(diào)用賦值函數(shù)

printf("數(shù)組最后元素為:%d\n",rt);

}

int assignment(int data[],int size) //按 Fibonacci 數(shù)列對(duì)數(shù)組元素依次賦值

{

int res;

data=(int *)malloc(size*sizeof(int));

if(size==1)

data[0]=1;

else if(size==2)

{

data[0]=1;

data[1]=1;

}

else

{

data[0]=1;

data[1]=1;

for(int i=2;isize;i++)

data[i]=data[i-1]+data[i-2];

}

print(data,size); //調(diào)用打印函數(shù)

res=data[size-1]; //最后一個(gè)元素是data[size-1]

free(data); //釋放內(nèi)存

return res;

}

void print(int data[],int size) //打印數(shù)組

{

for(int i=0;isize;i++)

printf("%d ",data[i]);

}

有注釋的,不明白的再討論

C語言中怎么給一個(gè)結(jié)構(gòu)體用scanf進(jìn)行賦值?

結(jié)構(gòu)體數(shù)組指針作為函數(shù)參數(shù),通過數(shù)組的首地址與偏移量對(duì)結(jié)構(gòu)體數(shù)組進(jìn)行scanf的賦值,在函數(shù)中通過指針間接訪問到其指向的內(nèi)存。

舉例:編寫函數(shù),輸入5個(gè)學(xué)號(hào)(int),5個(gè)姓名(字符串),5個(gè)成績(jī)數(shù)組(每組三個(gè)成績(jī))(int[3]),依次調(diào)用函數(shù)

#include stdio.h

#include stdlib.h

struct student? //建立結(jié)構(gòu)體,學(xué)號(hào),姓名,3門課的分?jǐn)?shù)

{

int num;

char name[10];

int score[3];

}Stu[5];? ? ? ? ? //初始化,一共5個(gè)學(xué)生的數(shù)據(jù)

void getScore(struct student * p)? //函數(shù):向結(jié)構(gòu)體讀取分?jǐn)?shù),一共三門課

{

int i, j;

for (i = 0; i 5; i++)

for (j = 0; j 3; j++)

scanf_s("%d", ((p+i)-score[j]));

}

void getNum(struct student * p)? //函數(shù):向結(jié)構(gòu)體讀取學(xué)號(hào)

{

int i;

for (i = 0; i 5;i++)

scanf_s("%d", (p + i)-num);

}

void getName(struct student * p)? //函數(shù):向結(jié)構(gòu)體讀取姓名

{

int i;

for (i = 0; i 5; i++)

scanf("%s", (p + i)-name);

}

int main()

{

int i, j, average[3] = { 0 };? ?//average數(shù)組儲(chǔ)存每門課的平均分

getNum(Stu);? ? ? ? ? ? //函數(shù)調(diào)用

getName(Stu);

getScore(Stu);

for (j = 0; j 3; j++)

{

for (i = 0; i 5; i++)

average[j] += Stu[i].score[j];

}

for (i = 0; i 5; i++)

{

printf("num = %d name = %s Score:", Stu[i].num, Stu[i].name);? //依次打印學(xué)號(hào) 姓名

//printf("%d %d %d", Stu[0].score[0],Stu[0].score[1],Stu[0].score[2]);

for (j = 0; j 3; j++)? ? //打印三門課的分?jǐn)?shù)

printf(" %d", Stu[i].score[j]);

printf("\n");

}

printf("average:");

for (i = 0; i 3; i++)

printf("%f ", (float)average[i]/5);? ?//打印三門課平均分

printf("\n");

system("pause");

return 0;

}

如:

scanf("%c%c%c",a,b,c);

輸入為:

d e f

則把'd'賦予a, ' '(空格)賦予b,'e'賦予c。因?yàn)?c 只要求讀入一個(gè)字符,后面不需要用空格作為兩個(gè)字符的間隔,因此把' '作為下一個(gè)字符送給b。

只有當(dāng)輸入為:def(字符間無空格) 時(shí),才能把'd'賦于a,'e'賦予b,'f'賦予c。

擴(kuò)展資料:

1、函數(shù)原型

int scanf(const char * restrict format,...);

函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdin [1]? (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個(gè)字符,并保存在對(duì)應(yīng)地址的變量中。

函數(shù)的第一個(gè)參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對(duì)應(yīng)位置的信息并存儲(chǔ)于可變參數(shù)列表中對(duì)應(yīng)的指針?biāo)肝恢?。每一個(gè)指針要求非空,并且與字符串中的格式符一一順次對(duì)應(yīng)。

2、返回值

scanf函數(shù)返回成功讀入的數(shù)據(jù)項(xiàng)數(shù),讀入數(shù)據(jù)時(shí)遇到了“文件結(jié)束”則返回EOF。如:

scanf("%d %d",a,b);函數(shù)返回值為int型。如果a和b都被成功讀入,那么scanf的返回值就是2;

如果只有a被成功讀入,返回值為1;如果a和b都未被成功讀入,返回值為0;如果遇到錯(cuò)誤或遇到end of file,返回值為EOF。end of file為Ctrl+z 或者Ctrl+d。

例:使用scanf函數(shù)輸入數(shù)據(jù)。

#include stdio.h

int main(void)

{

int a,b,c;

printf("Give me the value of a,b,c seperated with whitespaces:\n");

scanf("%d%d%d",a,b,c);

printf("a=%d,b=%d,c=%d\n",a,b,c);

return 0;

}

注意:a,b,c中的是尋址操作符,a表示對(duì)象a在內(nèi)存中的地址,是一個(gè)右值。變量a,b,c的地址是在編譯階段分配的(存儲(chǔ)順序由編譯器決定)。

如果scanf中%d是連著寫的如“%d%d%d”,在輸入數(shù)據(jù)時(shí),數(shù)據(jù)之間不可以用逗號(hào)分隔,只能用空白字符(空格或tab鍵或者回車鍵)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回車)4”等。若是“%d,%d,%d”,則在輸入數(shù)據(jù)時(shí)需要加“,”,如“2,3,4”。

參考資料:

百度百科——scanf(計(jì)算機(jī)語言函數(shù))

網(wǎng)站欄目:c語言如何給函數(shù)賦值 c語言怎么給函數(shù)賦值
轉(zhuǎn)載注明:http://www.muchs.cn/article44/dosshee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)Google、定制網(wǎng)站、網(wǎng)站改版營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)