新聞中心
C語言如何判斷函數(shù)的類型 fff(float x ) {printf("%d\n",x*x);} 為什么該函數(shù)的類型是int?
函數(shù)返回值類型由函數(shù)頭部的返回值類型決定
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為豐澤等服務(wù)建站,豐澤等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為豐澤企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
例如
函數(shù)頭部為int f(),這樣的話,返回值類型為int型;又如頭部為double f()的話,返回值類型為double型;頭部為char *f()的話,返回值為char *,即指向char的指針
特別的,如果函數(shù)頭部沒有顯示的說明返回值類型,則在C中一般是默認(rèn)當(dāng)作返回int型,如f(),則返回值類型為int型
C語言如何判斷一個函數(shù)的返回值類型
無返回值需聲明(void),否則在定義函數(shù)的時候需說明返回值類型(如intmain()),在有返回值的函數(shù)中必然存在return語句,。如果不需要返回值,可用return-1;
在c語言中用什么函數(shù)判定一個變量的類型
在c語言中用沒有函數(shù)判定一個變量的類型,可以使用sizeof來判斷變量大小。
示例:
#include stdio.h
#include stdlib.h
int main(int argc,char **argv)? ? ? ? ?//主程序
{
//對C語言內(nèi)置類型的所占字節(jié)數(shù)的測試
printf("size of char is: %d\n",sizeof(char));? ? ? ?//字符型數(shù)據(jù)所占字節(jié)數(shù) 、
printf("size of short is: %d\n",sizeof(short));? ? ?//短整形數(shù)據(jù)所占字節(jié)數(shù)
printf("size of int is: %d\n",sizeof(int ));? ? ? ? //整形數(shù)據(jù)
printf("size of short int is: %d\n",sizeof(short int)); //短整形
printf("size of long int is: %d\n",sizeof(long int));? ? //長整形數(shù)據(jù)
printf("size of float is: %d\n",sizeof(float));? ? ? ? ? //浮點(diǎn)型數(shù)據(jù)
printf("size of double is: %d\n",sizeof(double));? ? ? ? //雙精度數(shù)據(jù)
//對字符及字符串?dāng)?shù)組所占字節(jié)數(shù)的測量
char a[] ={'a','b','c','d','e'};
printf("size of a[] is: %d\n",sizeof(a));? ? ? ? ? ? ? ?//輸出數(shù)組a[]所占字節(jié)數(shù)
char b[]={"abcde"};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化字符串b
printf("size of b[] is: %d\n",sizeof(b));? ? ? ? ? ? ? ?//數(shù)組b[]
char c[][3]={{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'}};? //初始化二維字符型數(shù)組
printf("size of c[][] is: %d\n",sizeof(c));? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//二維數(shù)組c所占字節(jié)數(shù)
printf("size of c[0] is: %d\n",sizeof(c[0]));? ? ? ? ? ? ? ? ? ? ? ? ? ?//二維數(shù)組中的某行所占的字節(jié)數(shù),例如第0行
printf("size of c[0][0] is: %d\n",sizeof(c[0][0]));? ? ? ? ? ? ? ? ? ? ?//某行某個元素,例如第0行第0個元素
//對指針?biāo)甲止?jié)數(shù)的測量
char *p=0;
printf("size of *p is: %d\n",sizeof(p));? ? ? ? ? ? ? ? ? ? ? ?//字符型指針
system("pause");
return 0;
}
擴(kuò)展資料
使用sizeof()計算數(shù)組長度
將sizeof用于 expr是并沒有計算expr的值。特別是在sizeof *p中,指針p可以是一個無效地址,因?yàn)椴恍枰獙做解引用操作。
對char類型或值為char類型的表達(dá)式做sizeof操作結(jié)果為1。對引用類型做sizeof操作,將返回存放此引用類型對象所需的內(nèi)存空間大小。
對指針做sizeof操作,將返回存放指針?biāo)璧膬?nèi)存大小,注意,如果要獲取該指針指向?qū)ο蟮拇笮。瑒t必須對該指針進(jìn)行解引用。對數(shù)組做sizeof操作等效于對其元素做sizeof操作的結(jié)果乘上數(shù)組元素的個數(shù)。
因?yàn)閟izeof返回整個數(shù)組在內(nèi)存中的存儲長度,所以用sizeof數(shù)組的結(jié)果初一sizeof其元素類型的結(jié)果,即可求出數(shù)組元素的個數(shù):int sz = sizeof(ia)/sizeof(*ia);
通常將8位的塊作為一個字節(jié),32位或4個字節(jié)作為一個 “字”。一般的short為半個機(jī)器字長,int為一個機(jī)器字長。
C語言判斷一個數(shù)是否是素數(shù)的函數(shù)
你的想法是沒錯,但是程序?qū)戝e了
正確的 for(i=2;i=sqrt(n);i++)
if(n%i==0)return 0;
return 1;
代表
for(i=2;i=sqrt(n);i++)
{
if(n%i==0){
return 0;
}
}
return 1; //是在for結(jié)束后進(jìn)行的
而你的。你應(yīng)該明白了吧,第一次就會return 1跳出。每有全算一遍
c語言 如何判斷一個函數(shù)是值傳遞還是址傳遞啊?傻傻分不清楚,c語言起步
值傳遞,調(diào)用函數(shù)的時候傳給調(diào)用函數(shù)的是變量的值,例如:
定義 max函數(shù):
int?max(int?a,int?b){
if(ab)?return?a;
else?return?b;
}
調(diào)用max函數(shù)的時候這樣調(diào)用:
int?a=1;
int?b=2;
int?m;
m?=?max(a,b);
址傳遞調(diào)用函數(shù)的時候傳給調(diào)用函數(shù)的是變量的地址,例如:
定義交換函數(shù):
void?swap(int?*a,int?*b){
int?t;
t?=?*a;
*a?=?*b;
*b?=?t;
}
調(diào)用swap函數(shù)的時候這樣調(diào)用:
int?a=1;
int?b=2;
swap(a,b);
調(diào)用swap函數(shù)后,a,b中的值進(jìn)行了交換。
注意:這里的int可以換成其他類型的數(shù)據(jù),比如double,char甚至指針類型。
C語言判斷一個函數(shù)是不是單向函數(shù)的編程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include stdio.h
int sushu(int x)
{
int i,flage=0;
for (i=2;ix;i++)
{
if (x%i==0)
{
break;
}
}
if (i==x)
{
flage=1;
}
return flage;
}
int main()
{
int i,sum=0,c;
for (i=100;i200;i++)
{
c=sushu(i);
if (c0)
{
printf("%-4d",i);
sum=sum+i;
}
}
printf("\n素數(shù)和是:%d\n",sum);
return 0;
}
名稱欄目:c語言判別函數(shù)是,c語言判斷是否是數(shù)字的函數(shù)
URL分享:http://www.ef60e0e.cn/article/dsidpce.html