1、main函數(shù)的返回值定義為int型,則函數(shù)里應(yīng)該要有相應(yīng)類型的返回值。
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括岱山網(wǎng)站建設(shè)、岱山網(wǎng)站制作、岱山網(wǎng)頁(yè)制作以及岱山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,岱山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到岱山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、雖然我們不會(huì)用程序里的其它函數(shù)來(lái)調(diào)用main函數(shù),但是其實(shí)main函數(shù)的返回值是可以被系統(tǒng)捕獲的,在系統(tǒng)中可以根據(jù)main的返回值來(lái)判斷程序的執(zhí)行情況。
首先要了解Big_endian和Little_endian的區(qū)別,兩者主要是CPU把數(shù)據(jù)儲(chǔ)存的順序不同而已。感覺(jué)就像堆棧一樣的。。要判斷這兩者,首先可以用一個(gè)常數(shù)N=0x01,分別加載到Big_endian和Little_endian來(lái)處理。然后再用這兩個(gè)地址來(lái)跟1相與。如果是Little_endian的話,與出來(lái)的就是1.反之則0。接下來(lái)下返回值就行了。。編程其實(shí)有很多中方法的,我這也僅參考。小弟也只是菜鳥(niǎo)一個(gè),
CString SaveLog(char *fmt ,...)
{
va_list marker;
va_start( marker, fmt );
char buf[1024] = {0};
vsprintf(buf,fmt,marker);
va_end( marker );
CString sLog;
sLog.Format("%s\n", tNow.Format("[%Y-%m-%d %H:%M:%S]"), buf);
return sLog;
}
調(diào)用:SaveLog( "%s %s %s.[%s]", strFileName, sFound, strVirus, sKilledEng);
給你個(gè)例子吧。
不過(guò)這個(gè)例子是VC的,不知道C下面能不能跑
double :聲明雙精度變量或函數(shù)
int: 聲明整型變量或函數(shù)
struct:聲明結(jié)構(gòu)體變量或函數(shù)
break:跳出當(dāng)前循環(huán)
else :條件語(yǔ)句否定分支(與 if 連用)
long :聲明長(zhǎng)整型變量或函數(shù)
switch :用于開(kāi)關(guān)語(yǔ)句
case:開(kāi)關(guān)語(yǔ)句分支
enum :聲明枚舉類型
typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用)
char :聲明字符型變量或函數(shù)
extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
return :子程序返回語(yǔ)句(可以帶參數(shù),也看不帶參數(shù))
union:聲明聯(lián)合數(shù)據(jù)類型
const :聲明只讀變量
float:聲明浮點(diǎn)型變量或函數(shù)
short :聲明短整型變量或函數(shù)
一次去一個(gè)小公司面試,沒(méi)有太重視,當(dāng)時(shí)由于工作甚忙,也沒(méi)作準(zhǔn)備。他們給我的試卷有大量的題,規(guī)定一個(gè)小時(shí)必須做完,一看題量,嚇了一大跳,題有鏈表,有多維數(shù)組,有大量的程序閱讀,幸虧基本功還算扎實(shí),未辱使命,差強(qiáng)完成。等到做到編程題時(shí),才發(fā)現(xiàn)自己太長(zhǎng)時(shí)間沒(méi)有寫(xiě)過(guò)程序了,讓一些瑣碎的改BUG工作和代碼維護(hù)浪費(fèi)了太多的精力。一直做下去,心里暗暗吃驚,一個(gè)小時(shí),這個(gè)題量如果是在剛畢業(yè)時(shí),還是有可能完成的,工作幾年后,壓力漸小,寫(xiě)程序基本都是拿來(lái)主義,對(duì)標(biāo)準(zhǔn)庫(kù)函數(shù)的原理把握和編程能力越來(lái)越退化。由于當(dāng)時(shí)時(shí)間緊迫,所寫(xiě)程序也不夠完善,過(guò)后又思考了一下,回到家后趕緊又對(duì)這些問(wèn)題總結(jié)了一下。下面對(duì)面試中遇到的編程問(wèn)題分析了一下。真是人在社會(huì)如江湖呀,學(xué)習(xí)是一刻也不能放松的事。稍一不慎,晚節(jié)不保不說(shuō),反而會(huì)陰溝里翻船。
1.獲取路徑下的文件名
char * FindFileName(char * s)
{
int len;
char *tmp=NULL;
ASSERT(s != NULL);
for (len=strlen(s); len0;len--)
{
if((s[len]=='/') ||(s[len]=='//'))
{
tmp = s[len+1];
break;
}
}
return tmp;
}
2.把整型轉(zhuǎn)化為字符型
char * i2a(int n, char *s)
{
int i, sign;
ASSERT(s != NULL);
if ((sign = n) 0)
{
n = -n; //轉(zhuǎn)為正數(shù),利于取位
}
do
{
s[i++] = n % 10 + '0';
}
while ((n /= 10) 0)
if (sign 0)
{
s[i++] = '-';
}
s[i] = '/0';
reverse(s);
}
3.把字符型轉(zhuǎn)為整型
int a2i(char * s)
{
int i, n, sign;
ASSERT(s != NULL);
for (i = 0; s[i] == ' '; i++)
{
NULL; //如果字串前有空格,跳過(guò)所有空格
}
sign = (s[i] == '-') ?: -1 : 1;
if (s[i] == '+' || s[i] == '-')
{
i++; //判斷是正整數(shù)串還是負(fù)整數(shù)串
}
for (n = 0; s[i] = '0' s[i] = '9'; i++)
{
n = 10 * n + (s[i] - '0');
}
return sign*n;
}
4.輸出字符串倒文,不能動(dòng)態(tài)分配內(nèi)存
char * reverse(char * s)
{
int c, i, j;
ASSERT(s != NULL);
for (i = 0, j = strlen(s) - 1; i j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
return s;
}
5.查找子串是否存在
int strindex(char *str,char *searchstr)
{
int end, i, j;
ASSERT((str != NULL) (searchstr != NULL));
//計(jì)算結(jié)束位置
end = strlen(str) - strlen(searchstr);
if ( end 0 )
{
for ( i = 0; i = end; i++ )
{
for ( j = i; str[j] == searchstr[j-i]; j++ )
{
if ( searchstr[j-i+1] == '/0' ) /* 子字符串字結(jié)束 */
{
return i + 1; /* 找到了子字符串 */
}
}
}
}
return -1;
}
C語(yǔ)言庫(kù)函數(shù),常用庫(kù)函數(shù)有:
1、scanf格式輸入函數(shù)
2、printf格式輸出函數(shù)
3、systemdos命令函數(shù)
4、sort排序
5、main主函數(shù)
6、fgets文件讀取字符串函數(shù)
7、fputs文件寫(xiě)入字符串函數(shù)
8、fscanf文件格式讀取函數(shù)
9、fprintf文件格式寫(xiě)入函數(shù)
10、fopen打開(kāi)文件函數(shù)
11、getchar輸入字符函數(shù)
12、putchar輸出字符函數(shù)
13、malloc動(dòng)態(tài)申請(qǐng)內(nèi)存函數(shù)
14、free釋放內(nèi)存函數(shù)
15、abs求絕對(duì)值數(shù)學(xué)函數(shù)
16、sqrt求平方根數(shù)學(xué)函數(shù)
擴(kuò)展資料
語(yǔ)言組成:
1、數(shù)據(jù)類型
C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。
2、常量與變量
常量其值不可改變,符號(hào)常量名通常用大寫(xiě)。
變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。標(biāo)識(shí)符是以字母或下劃線開(kāi)頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請(qǐng)注意第一個(gè)字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。
3、數(shù)組
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
4、指針
如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說(shuō),該變量存儲(chǔ)一個(gè)地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語(yǔ)言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個(gè)內(nèi)存地址里存儲(chǔ)的內(nèi)容。指針是 C 語(yǔ)言區(qū)別于其他同時(shí)代高級(jí)語(yǔ)言的主要特征之一。
參考資料來(lái)源:百度百科-函數(shù)