有兩個printf 就會輸出兩次,
成都創(chuàng)新互聯(lián)是專業(yè)的東安網(wǎng)站建設公司,東安接單;提供網(wǎng)站建設、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行東安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
你輸入-10,執(zhí)行了y=-x; printf ("%d\n",y); printf ("%d\n",y); 三條語句,就是y=10和打印2次y。
你輸入10,執(zhí)行了printf ("%d\n",y); y=10;printf ("%d\n",y); 三條語句,第一個printf的y沒有賦值,所以從內(nèi)存直接讀取值4211576。
如果不用ABS函數(shù),可以這樣寫
main()
{int x,y;
scanf("%d",x);
y=x;
if (x0) y=-x;
printf ("%d\n",y);
}
C語言中求絕對值的函數(shù)有兩個:abs()和fabs()。
1、abs() ?是用來求整型表達式的絕對值,比如:abs(x) ?就是求整型變量x的絕對值。
2、fabs() ?是用來求浮點型表達式的絕對值,比如:abs(x) ?就是求浮點型變量(float型或double型)x的絕對值。
根據(jù)你的數(shù)據(jù)是int,long,還是double型,要用不同的函數(shù)
#include math.h
iy? ?=? ?abs(? ?ix? ?);? //int型
ly? ?=? ?labs(? ?lx? ?);? //long型
dy? ?=? ?fabs(? ?dx? ?);? //double型
擴展資料:
C語言其他常用函數(shù):
1、atof:將str指向的字符串轉換為一個double型的值,返回雙精度計算結果。
2、atoi:將str指向的字符串轉換為一個int型的值,返回轉換結果。
3、exit:中止程序運行。將status的值返回調(diào)用的過程。
4、labs:計算long型整數(shù)num的絕對值,返回計算結果。
5、random:產(chǎn)生0到num之間的隨機數(shù),返回一個隨機(整)數(shù)。
函數(shù)是一組一起執(zhí)行一個任務的語句。每個 C 程序都至少有一個函數(shù),即主函數(shù)?main()?,所有簡單的程序都可以定義其他額外的函數(shù)。
您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來決定的,但在邏輯上,劃分通常是根據(jù)每個函數(shù)執(zhí)行一個特定的任務來進行的。
函數(shù)聲明告訴編譯器函數(shù)的名稱、返回類型和參數(shù)。函數(shù)定義提供了函數(shù)的實際主體。
C 標準庫提供了大量的程序可以調(diào)用的內(nèi)置函數(shù)。例如,函數(shù)?strcat()?用來連接兩個字符串,函數(shù)?memcpy()?用來復制內(nèi)存到另一個位置。
函數(shù)還有很多叫法,比如方法、子例程或程序,等等。
定義函數(shù)
C 語言中的函數(shù)定義的一般形式如下:
return_type?function_name(?parameter?list?)
{
body?of?the?function
}
參考資料來源:百度百科-C語言函數(shù)
(1)求絕對值就是讓將負數(shù)轉成正數(shù),正數(shù)還是其本身,以下是代碼:
#includestdio.h
int?Abs(int?a)
{
if(a0)
return?-a;
return?a;
}
void?main()
{
int?a;
printf("請輸入一個數(shù):");
scanf("%d",a);
printf("%d的絕對值是:%d\n",a,Abs(a));
}
(2)以下是輸出截圖:
1. C語言絕對值的用法:double fabs(double exp); 和 int abs(int exp);
在使用前,請務必加上文件頭,因為這是庫函數(shù),直接拿來引用就OK了,另外注意2種不同的數(shù)據(jù)類型
2. 或許你才學到函數(shù),對函數(shù)的本質并不是很透徹,其實任何問題都可以放在主函數(shù)中解決的,但實際上并不提倡這樣做,因為一段很復雜的程序,只用一個函數(shù)來寫的話,很容易讓程序員陷入僵局,難以對程序進行維護,查錯能力極差,為了便于對程序進行維護,實際上通用的做法是將程序分割成若干模塊,而且互相獨立性很強,這就是遵循強獨立性,弱耦合性的原則,函數(shù)之間通常只提供一個公共接口(返回值),(隨著你編程的提高,你會注意到的,這是一個習慣)
就你所舉例來講,我認為用函數(shù)調(diào)用最好,因為X有3次賦值,我們可以在主函數(shù)中用一個循環(huán)來3次調(diào)用子函數(shù),我簡單地寫下代碼吧
#includestdio.h
int fun(int x)
{
int y;
y=2*x+1;
return y;
}
main()
{
int x,y;
for(x=1;x=3;x++)
{
y=fun(x);
printf("%d\n",y);
}
}
#include stdio.h
int main()
{
int a;
scanf("%d",a);
if(a0)
? a=-a;
printf("%d\n",a);
return 0;
}
用fabs()這個函數(shù)就可以。
如:
int i=-10,j;
j=fabl(i);
printf("%d",j);
重要提示:
在使用fabs()這個函數(shù)時,前面要加上math.h這個頭文件。
擴展資料:
1、C++中#和##操作符是和#define宏使用的,使用#使在#后的首個參數(shù)返回為一個帶引號的字符串。
2、Pascal中的#修飾ascii碼,#m表示ascii碼為m的字符,如#48表示‘0’,#65為‘A’,#13為回車。
3、Python中的#一般用于對程序代碼進行注釋,位于注釋的開頭(單行)。
4、HTML 中的#用于空連接或者鏈接本頁,有的時候需要有個鏈接的樣式,但是又不希望他跳轉。