把if(i=2)改成if(i==2),把if(a=1 month2)改成if(a==1 month2)就可以了!
成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吳川企業(yè)提供專業(yè)的成都網(wǎng)站建設、做網(wǎng)站,吳川網(wǎng)站改版等技術(shù)服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
輸入輸出函數(shù)
非格式化輸入輸出函數(shù)可以由上面講述的標準格式化輸入輸出函數(shù)代替,
但
這些函數(shù)編譯后代碼少,
相對占用內(nèi)存也小,
從而提高了速度,
同時使用也比較
方便。下面分別進行介紹。
一、puts()和gets()函數(shù)
1.
puts()函數(shù)
puts()函數(shù)用來向標準輸出設備(屏幕)寫字符串并換行,
其調(diào)用格式為:
puts(s);
其中s為字符串變量(字符串數(shù)組名或字符串指針)。
puts()函數(shù)的作用與語printf(”%s\n”,
s)相同。
例3:
main()
{
char
s[20],
*f;
strcpy(s,
“Hello!
Turbo
C2.0″);
f=“Thank
you”;
puts(s);
puts(f);
}
說明:
(1).
puts()函數(shù)只能輸出字符串,
不能輸出數(shù)值或進行格式變換。
(2).
可以將字符串直接寫入puts()函數(shù)中。如:
puts(“Hello,
Turbo
C2.0”);
2.
gets()函數(shù)
gets()函數(shù)用來從標準輸入設備(鍵盤)讀取字符串直到回車結(jié)束,
但回車符
不屬于這個字符串。其調(diào)用格式為:
gets(s);
其中s為字符串變量(字符串數(shù)組名或字符串指針)。
gets(s)函數(shù)與scanf(“%s”,
s)相似,
但不完全相同,
使用scanf(“%s”,
s)
函數(shù)輸入字符串時存在一個問題,
就是如果輸入了空格會認為輸入字符串結(jié)束,
空格后的字符將作為下一個輸入項處理,
但gets()
函數(shù)將接收輸入的整個字符
串直到回車為止。
例4
main()
{
char
s[20],
*f;
printf(“What’s
your
name?\n”);
gets(s);
puts(s);
puts(“How
old
are
you?”);
gets(f);
puts(f);
}
你這個問題提的很模糊,你要問的是:
函數(shù)int prime(int sum),當sum不是素數(shù)時,如何不返回值。
回答是:函數(shù)定義有void以外的返回值類型,必須有返回值。所以你這個代碼錯的。(實際情況像你這種返回int漏寫return,不同編譯器處理會有所不同,有直接報錯,有的警告可運行返回0,所以強調(diào)要有返回值)。
正常思路,指定返回值類型的函數(shù)是根據(jù)不同情況返回不同值,最后在主函數(shù)中接收返回值做判斷。
比如,你在這個函數(shù)最后再寫一個return -1;
然后在main函數(shù)打印輸出那里加一個判斷返回值不等于-1。
C語言運行程序為什么沒有輸出數(shù)字,產(chǎn)生的原原因如下:
1、輸入的格式不對
要輸入“浮點數(shù)”并用 “逗號” 分隔輸入三個數(shù)兩個逗號后還要額外多加一回車才開始后面的流程,
如果把
scanf("%f,%f,%f\n",a,b,c);
改為
scanf("%f%f%f",a,b,c);
就可以用空白符做分隔了。
2、沒有輸出
不知道計算的結(jié)果那算法就沒有意義了。輸出不一定是要打印到屏幕上的,可以是下一個程序的輸入,可以是一個文件、一段語音、一張圖像,甚至是機器人的步行動作等等。