n = scanf("%d",n);
創(chuàng)新互聯(lián)公司成立于2013年,先為青神等服務(wù)建站,青神等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為青神企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
這一句有問題
1. scanf 函數(shù)是有返回值的,它的返回值可以分成三種情況
1) 正整數(shù),表示正確輸入?yún)?shù)的個數(shù)。
例如執(zhí)行 scanf(“%d %d”, a, b);
如果用戶輸入”3 4”,可以正確輸入,返回2(正確輸入了兩個變量);
如果用戶輸入”3,4”,可以正確輸入a,無法輸入b,返回1(正確輸入了一個變量)。
2) 0,表示用戶的輸入不匹配,無法正確輸入任何值。如上例,用戶如果輸入”,3 4”,返回0。
3) EOF,這是在 stdio.h 里面定義的常量(通常值為-1),表示輸入流已經(jīng)結(jié)束。在Windows下,用戶按下CTRL+Z(會看到一個^Z字符)再按下回車(可能需要重復(fù)2次),就表示輸入結(jié)束;Linux/Unix下使用CTRL+D表示輸入結(jié)束。
你這個輸入一個返回值就是1,因此n也會一直等于一
賦值語句是由賦值表達(dá)式再加上分號構(gòu)成的表達(dá)式語句。其一般形式為:變量=表達(dá)式;
賦值語句的功能和特點(diǎn)都與賦值表達(dá)式相同。 它是程序中使用最多的語句之一。
1 由于在賦值符“=”右邊的表達(dá)式也可以又是一個賦值表達(dá)式,
因此,下述形式
變量=(變量=表達(dá)式);
是成立的,從而形成嵌套的情形。
其展開之后的一般形式為:
變量=變量=…=表達(dá)式;
例如:
a=b=c=d=e=5;
按照賦值運(yùn)算符的右接合性,因此實際上等效于:
e=5;
d=e;
c=d;
b=c;
a=b;
注意在變量說明中給變量賦初值和賦值語句的區(qū)別。
給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其它同類變量之間仍必須用逗號間隔,而賦值語句則必須用分號結(jié)尾。例如:int a=5,b,c;
在變量說明中,不允許連續(xù)給多個變量賦初值。
如下述說明是錯誤的:
int a=b=c=5
必須寫為
int a=5,b=5,c=5;
而賦值語句允許連續(xù)賦值。
注意賦值表達(dá)式和賦值語句的區(qū)別。
賦值表達(dá)式是一種表達(dá)式,它可以出現(xiàn)在任何允許表達(dá)式出現(xiàn)的地方,而賦值語句則不能。
下述語句是合法的:
if((x=y+5)0) z=x;
語句的功能是,若表達(dá)式x=y+5大于0則z=x。
下述語句是非法的:
if((x=y+5;)0) z=x;
因為x=y+5;是語句,不能出現(xiàn)在表達(dá)式中
#include
stdio.h
f(int
a,int
b,int
m){
//這個函數(shù)是個完全沒意思的函數(shù)
m=a*b;
return
;
//原因在這
這里直接return了
沒指明返回哪個變量
那它的意義就只是說f函數(shù)結(jié)束了
其實什么也沒返回
}
void
main(){
int
m=1;
//這里對m賦值1
f(2,3,m);
//運(yùn)算是完全沒意思的運(yùn)算
所以最后結(jié)果是1
printf("%d",m);
}
為什么運(yùn)行結(jié)果是m=1?????
//
在f函數(shù)那
return
m
就能得到你想要的
不過要把主函數(shù)里的倒數(shù)3行改成
m=f(2,3,m)
在使用一個函數(shù)之前必須先對他進(jìn)行聲明:
//void B();聲明B函數(shù)的存在。void A(){B();//非法,程序執(zhí)行到此時并不知道B函數(shù)的存在。}void B(){}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴(kuò)展資料
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
if(fa(n)==1)
printf("n");
else
printf("y");
system("pause");
exit(0);
}
參考資料:百度百科 - C語言函數(shù)
文章名稱:c語言函數(shù)聲明時賦值 c 函數(shù)聲明
標(biāo)題鏈接:http://jinyejixie.com/article12/dopsidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、App開發(fā)、、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)