簡(jiǎn)單的整理,僅供參考:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、德令哈網(wǎng)站維護(hù)、網(wǎng)站推廣。
#include?stdio.h
#define?BUFFER_LEN?3
#define?BUFFER_SIZE?64
void?getData(?char?buffer[BUFFER_LEN][BUFFER_SIZE],size_t?size,int?*repeatTimes?)
{
printf("plz,input?3?strings,e.1251511?212151?564646165\n");
scanf_s("%s?%s?%s",buffer[0],size,buffer[1],size,buffer[2],size?)?;
printf("plz,input?your?repeat?times:");
scanf_s("%d",repeatTimes?);
}
void?saveInfo(?const?char?*filePath,?char?buffer[BUFFER_LEN][BUFFER_SIZE],int?repeatTimes)
{
FILE?*pFile?=?NULL;;
if(?fopen_s(pFile,filePath,"w+")!=EOF)
{
for(?int?i=0;irepeatTimes;++i?)
{
if(?i?!=?repeatTimes-1?)
{
if(?fprintf_s(pFile,"%s,%s,%s,",buffer[0],buffer[1],buffer[2])==EOF?)
{
printf("save?data?error\n");
}
}
else?if(?fprintf_s(pFile,"%s,%s,%s",buffer[0],buffer[1],buffer[2])==EOF?)
{
printf("save?data?error\n");
}
}
fclose(pFile);
}
}
void?repeatSaveData()
{
char?cmd?=?0;
char?buffer[BUFFER_LEN][BUFFER_SIZE]={0};
int?repeatTimes?=?0;
do{
fflush(stdin);
getData(buffer,BUFFER_SIZE,repeatTimes);
printf("check?your?input?string?and?repeat?times:\n");
for(int?i?=0;iBUFFER_LEN;++i?)
{
printf("%s\n",buffer[i]);
}
printf("repeat?%d?times!?ture:1,reinput:0\n",repeatTimes);
fflush(stdin);
while(true)
{
cmd?=?getchar();
if(?cmd=='1'||cmd?=='0'?)?break;
}
}while(cmd=='0');
saveInfo("r.txt",buffer,repeatTimes);
}
int?main(int?argc,?char*?argv[])
{
repeatSaveData();
return?0;
}
(1)printf("%d", i++); 后綴,表達(dá)式里用 i, 出了表達(dá)式 自增1,故,分解為: printf("%d", i); i=i+1;
(2) printf("%d", ++i); 前綴,先自增,后用于表達(dá)式,故,分解為: i=i+1; printf("%d", i);
(3)(4) 同理,printf("%d", i--); 分解為:printf("%d", i); i=i-1;
printf("%d", --i); 分解為: i=i-1; printf("%d", i);
把分解后的語(yǔ)句組合起來(lái),就可看出,輸出為 40 42 42 40
計(jì)算:從右往左,并輸出到“緩沖區(qū)”。
1、緩沖區(qū)是一堆棧
2、第一步:處理后面的“i--”。8進(jìn)入緩沖區(qū),i=7。緩沖區(qū):8 -(指針)
第二步:處理“i++”。7進(jìn)入緩沖區(qū),i=8。緩沖區(qū):7 8-
第三步:處理”--i“。8進(jìn)入緩沖區(qū),i=7.緩沖區(qū):8 7 8
第四步:處理“++i” ?先自增1,然后8進(jìn)入緩沖區(qū),i=8 .緩沖區(qū): 8 8 7 8
3、輸出緩沖區(qū)數(shù)據(jù)(棧規(guī)則):8 8 7 8
另外自增 、自減 、還可能和編譯器有關(guān)系 。
擴(kuò)展資料:
后綴表達(dá)式 2級(jí)
postfix-expression [ expression ],數(shù)組下標(biāo)運(yùn)算。
postfix-expression ( argument-expression-list),函數(shù)調(diào)用,括號(hào)內(nèi)的參數(shù)可選。
postfix-expression . identifier,成員訪問,
postfix-expression - identifier,成員訪問,-號(hào)之前應(yīng)為指針。
postfix-expression ++,后綴自增
postfix-expression --,后綴自減
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 復(fù)合初始化,C99后新增。
參考資料:百度百科-C語(yǔ)言運(yùn)算符
數(shù)組a[i]沒有初始化,所以它的初始值是不確定的,你需要先declare比如:a[10] = {0} or a[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} or a[0] = 0;a[1] = 0;a[2] = 0;a[3] = 0;a[4] = 0;a[5] = 0;a[6] = 0;a[7] = 0;a[8] = 0;a[9] = 0;
--y,++x,是先+1、-1,后計(jì)算表達(dá)式;而z--是先計(jì)算表達(dá)式,后減1
所以:計(jì)算順序:
y=y-1,結(jié)果y=24
x=x+1,結(jié)果x=5
Z保持原值,z=2
所以:(--y/++x)*z-- = (24/5)*2 = 4*2 = 8(暫存)
計(jì)算完后,Z=z+1=3;
然后,再執(zhí)行z=8(將剛剛計(jì)算的Z=3覆蓋)
注意:24/5,取整,結(jié)果是4