第14章 結構體和其他數(shù)據(jù)形式

通訊錄

#include <stdio.h>

#include <stdlib.h>

#include? <string.h>

struct inof

{

? ? char name[200];

? ? long long phone;


};

void main2( void)

{

? ? struct inof inof1;

? ? strcpy(inof1.name, "xiaofeng");

? ? inof1.phone = 15624024417;

? ? printf("%s %lld \n",inof1.name,inof1.phone);

}

void main(void )

{

? ? struct inof *p;

? ? p=(struct inof *)malloc(sizeof(struct inof));

? ? strcpy((*p).name, "xiaofeng1");

? ? (*p).phone = 15624024418;

? ? printf("%s %lld \n", p->name,p->phone);




}

僅包含一本圖書的 圖書目錄?


#define use _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

#define MAXTTL 41

#define MAXAUTL 31

struct book{

char title[MAXTTL];

char author [MAXAUTL];

float value;

};

void main()

{

struct book bo;

printf("please enter the book title\n");

gets(bo.title);

printf("Now enter the author \n");

gets(bo.author);

printf("Now enter the value \n");

scanf("%f",&bo.value);

printf("%s? ? by %s %.2f \n " , bo.title,bo.author,bo.value);

system("pause");

}




包含多本書的 圖書目錄


#define use _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

#define MAXTTL 41

#define MAXAUTL 31

#define MAXBKS 100

struct book{

char title[MAXTTL];

char author [MAXAUTL];

float value;

};

void main()

{

int count = 0;

int index;

struct book library[MAXBKS];

printf("please enter the book title\n");

while (count < MAXBKS && gets(library[count].title)!= NULL && library[count].title[0] != '\0' )

{

printf("Now enter the author \n");

gets(library[count].author);

printf("Now enter the value \n");

scanf("%f",&library[count++].value);

while (getchar ()!= '\n')

{

continue;

}

if (count < MAXBKS)

{

printf("please enter the book title\n");

}

}

if (count > 0)

{

printf("here is the list of your books\n");

for ( index = 0;? index < count;? index++)

{

printf("%s? ? by %s %.2f \n " , library[index].title,library[index].author,library[index].value);

}

}

else

{

printf("no books to bad \n");

}

system("pause");

}

結構體嵌套

#include<stdio.h>

#include <stdlib.h>

#define LEN 20

const char* msgs[5] =

{

"think you for the wonderot",

"you certainly prove that a ",

"is a special kind of guy . we must get together ",

"over a dilicious",

"and have a few laughs "

};

struct names{

char first[LEN];

char last[LEN];

};

struct guy

{

struct names handle;

char favfood[LEN];

char job[LEN];

float income ;

};

void main()

{

struct guy fellow =

{

"enwen",

"Villard",

"grolleds",

"personality coach ",

1500002.00

} ;

printf("Dear %s \n \n ",fellow.handle.first);

printf("%s %s? \n ",msgs[0] , fellow.handle.first);

printf("%s %s? \n ",msgs[1] , fellow.job);

printf("%s? ? \n ",msgs[2]? );

printf("%s %s? %s \n ",msgs[3] , fellow.favfood,msgs[4]);

if (fellow.income > 1500000.0)

{

puts("!!");

}

else if(fellow.income > 75000.0)

{

puts("!");

}

else

{

puts(".");

}

printf("\n %40s %s \n" ," " ,"see you soon");

printf("\n %40s %s \n" ," " ,"shalala");

system("pause");

}


#include <stdio.h>

#include <stdlib.h>

#define LEN 20

struct names {

char first[LEN];

char last[LEN];

};

struct guy

{

struct names handle;

char favfood[LEN];

char job[LEN];

float income;

};

void main()

{

struct guy fellow[2] =

{{

"enwen",

"Villard",

"grolleds",

"personality coach ",

1500002.00

},{

"rodney",

"Swillbelly",

"tripe ",

"tabloid editor? ",

23240.00

}} ;

struct guy *him;

printf("address 1 = %p address2 = %p \n" , &fellow[0], &fellow[1]);

him = fellow;

printf("address 1 = %p address2 = %p\n" ,him, him+1);

printf("him -> income = %f? *him .income = %f\n",him->income,(*him).income);

him++;

printf("him -> income = %f? *him .income = %f",him->income,(*him).income);

system("pause");

}


把結構成員作為參數(shù)傳遞


#include <stdio.h>

#include <stdlib.h>

#define FUNDLEN 50

struct funds

{

? ? char bank [FUNDLEN];

? ? double bankfund ;

? ? char save[FUNDLEN];

? ? double savefund;


};

double sum(double,double);

void main()

{

? ? struct funds stan = {

? ? ? ? "Garlic-melon Bank",

? ? ? ? 3023.72,

? ? ? ? "Lucky's Saviings and Loa",

? ? ? ? 9237.11

? ? };


? ? printf("Stan has a total of %.2f.\n",sum (stan.bankfund,stan.savefund));


}

double sum(double x ,double y)

{

? ? return? x+ y;

}



傳遞指向結構體的指針

#include <stdio.h>

#include <stdlib.h>

#define FUNDLEN 50

struct funds

{

? ? char bank [FUNDLEN];

? ? double bankfund ;

? ? char save[FUNDLEN];

? ? double savefund;


};

double sum(const struct funds *);

void main()

{

? ? struct funds stan = {

? ? ? ? "Garlic-melon Bank",

? ? ? ? 3023.72,

? ? ? ? "Lucky's Saviings and Loa",

? ? ? ? 9237.11

? ? };

? ? struct? funds *p ;

? ? p = &stan;

? ? printf("Stan has a total of %.2f.\n",sum (p ));


}

double sum(const struct funds *money )

{

? ? return? money->bankfund + money -> savefund;



}





把結構體作為參數(shù)傳遞


#include <stdio.h>

#include <stdlib.h>

#define FUNDLEN 50

struct funds

{

? ? char bank [FUNDLEN];

? ? double bankfund ;

? ? char save[FUNDLEN];

? ? double savefund;


};

double sum(const struct funds );

void main()

{

? ? struct funds stan = {

? ? ? ? "Garlic-melon Bank",

? ? ? ? 3023.73,

? ? ? ? "Lucky's Saviings and Loa",

? ? ? ? 9237.11

? ? };

? ? struct? funds *p ;

? ? p = &stan;

? ? printf("Stan has a total of %.2f.\n",sum (stan));


}

double sum(const struct funds money )

{

? ? return? money.bankfund + money. savefund;


}

使用只想結構的指針

#include <stdio.h>

#include <stdlib.h>

#define FUNDLEN 50

struct funds

{

? ? char fname[20];

? ? char lname[20];

? ? int letters;


};

void getinfo (struct funds * );

void makeinfo (struct funds * );

void showinfo (const struct funds * );

void main()

{

? ? struct funds person;

? ? getinfo(&person);

? ? makeinfo(&person);

? ? showinfo(&person);

}

void getinfo(struct funds * pst)

{

? ? printf("please enter your first name \n");

? ? gets(pst -> fname);

?? ? printf("please enter your last name \n");

?? ? gets(pst -> lname);

}

void makeinfo(struct funds *pst)

{

? ? pst ->letters = strlen(pst ->fname)+ strlen(pst ->lname);


}

void showinfo(const struct funds * pst)

{

?? ? printf("%s %s your name contains %d letters \n " ,pst -> fname ,pst ->lname,pst->letters);

}






傳遞和返回結構

#include <stdio.h>

#include <stdlib.h>

#define FUNDLEN 50

struct funds

{

? ? char fname[20];

? ? char lname[20];

? ? int letters;


};

struct funds getinfo (void );

struct funds makeinfo (struct funds );

voidshowinfo (? struct funds );

void main()

{

? ? struct funds person;

? ? person =getinfo();

? ? person =makeinfo(? person);

? ? showinfo(person);

}

struct funds getinfo (void )

{

? ? struct funds temp;

? ? printf("please enter your first name \n");

? ? gets(temp.fname);

? ? printf("please enter your last name \n");

? ? gets(temp.lname);

? ? return temp;


}

struct funds makeinfo (struct funds info)

{

? ? info.letters = strlen(info.fname)+ strlen(info. lname);

? ? return info;

}

voidshowinfo (? struct funds pst )

{

?? ? printf("%s %s your name contains %d letters \n " ,pst.fname ,pst.lname,pst.letters);

}





使用指針和malloc

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct funds

{

? ? char *fname ;

? ? char *lname ;

? ? int letters;


};

void? getinfo (struct funds * );

void makeinfo (struct funds * );

void showinfo ( const struct funds *);

voidcleanup (? struct funds *);

void main()

{

? ? struct funds person;

? ? getinfo(&person);

? ? makeinfo(&person);

? ? showinfo(&person);

? ? cleanup(&person);

?}

void? getinfo (struct funds * pst)

{

? ? char temp[81];

? ? printf("please enter your first name \n");

? ? gets(temp);

? ? pst ->fname = (char *) malloc(sizeof(temp)+1);

? ? strcpy( pst -> fname, temp);

? ? printf("please enter your last name \n");

? ? gets(temp);

? ? pst ->lname = (char *) malloc(sizeof(temp)+1);

? ? strcpy( pst -> lname, temp);


}

void makeinfo (struct funds * info)

{

? ? info->letters = strlen( info->fname)+ strlen( info-> lname);


}

void showinfo ( const struct funds *pst)

{

?? ? printf("%s %s your name contains %d letters \n " ,pst->fname ,pst ->lname,pst->letters);

}

void cleanup(struct funds *pst)

{

? ? free(pst->fname);

?? ? free(pst->lname);

}




復合文字

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAXTITL 41

#define MINAUTL 41

struct book

{

? ? char tittle[MAXTITL] ;

? ? char author[MINAUTL] ;

? ? float value;

};

void main()

{

? ? struct book readfirst ;

? ? int score ;

? ? printf("please enter your score \n");

? ? scanf("%d",&score);

? ? if (score >= 84) {

? ? ? ? readfirst = (struct book ){"Crime and punishment",

? ? ? ? ? ? "Fyodor Dostoyevsky",

? ? ? ? ? ? 9.99};

? ? ? ? }

? ? else

? ? ? ? readfirst =(struct book ){"mr bouncy's nice hat? ",

? ? ? ? ? ? "Fred winsome",

? ? ? ? ? ? 5.99};

? ? printf("your assigned reading \n");

? ? printf("%s by %s %.2f \n ",readfirst.tittle,readfirst.author,readfirst.value);


?}




伸縮型數(shù)組成員

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct flex

{

? ? int count ;

? ? double average;

? ? double scores[];


};

void showFlex(const struct flex *p);

void main()

{

? ? struct flex *pf1 ,*pf2;

? ? int n = 5;

? ? int i;

? ? int tot =0;

? pf1 = (struct flex *)malloc(sizeof(struct flex )+n *sizeof(double));

?? ? //pf1 =? malloc(sizeof(struct flex )+n *sizeof(double));

? ? pf1->count = n;

? ? for (i = 0 ; i < n ; i++) {

? ? ? ? pf1? ->scores[i] = 20.0 -i;

? ? ? ? tot += pf1? ->scores [i];

? ? }

? ? pf1 ->average = tot /n;

? ? showFlex(pf1);

? ? n =9;

? ? tot? =0;

? ? pf2 =? (struct flex *) malloc(sizeof(struct flex )+n *sizeof(double));

? ? pf2 ->count = n;

? ? for (i = 0 ; i < n ; i ++ ) {

? ? ? ? pf2 ->scores[i] = 20.0 - i /2.0;

? ? ? ? tot += pf2 ->scores[i];


? ? }

? ? pf2 ->average = tot/n;

? ? showFlex(pf2);

? ? free(pf1);

? ? free(pf2);




?}

void showFlex(const struct flex *p)

{

? ? int i;

? ? printf("score ");

? ? for (i = 0 ; i < p->count; i++) {

? ? ? ? printf("%g",p->scores[i]);


? ? }

? ? printf("\n Avergae %g \n",p->average);



}

//

//

//void? getinfo (struct funds * pst)

//{

//? ? char temp[81];

//? ? printf("please enter your first name \n");

//? ? gets(temp);

//? ? pst -> fname = (char *) malloc(sizeof(temp)+1);

//? ? strcpy( pst -> fname, temp);

//? ? printf("please enter your last name \n");

//? ? gets(temp);

//? ? pst -> lname = (char *) malloc(sizeof(temp)+1);

//? ? strcpy( pst -> lname, temp);

//? ?

//}

//void makeinfo (struct funds * info)

//{

//? ? info-> letters = strlen( info->fname)+ strlen( info-> lname);

//?

//}

//void showinfo ( const struct funds *pst)

//{

//? ? printf("%s %s your name contains %d letters \n " ,pst->fname ,pst ->lname,pst->letters);

//}

//void cleanup(struct funds *pst)

//{

//? ? free(pst->fname);

//? ? free(pst->lname);

//}


向 函數(shù) 傳遞 一個結構數(shù)組


#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define FUNDLEN 50

#define N 2

struct funds

{


? ? char bank [FUNDLEN];


? ? double bankfund ;


? ? char save[FUNDLEN];


? ? double savefund;




};

double sum( const struct funds money[] ,int n);

void main()

{

? ? struct funds jones[N]= {{"Garlic-melon bank ",3024.72,"Lucky's saving and loan ",9237.11 },{"Honset jack's bank ",3534.28,"party time savings ",3203.89}};

?? ? printf("The JOnese have total of %.2f \n",sum(jones, N));



?}

double sum( const struct funds money[] ,int n)

{


? ? double total;

? ? int i;

? ? for (i = 0 ,total = 0; i < n? ; i++) {

? ? ? ? total +=? money[i] .bankfund + money[i].savefund;

? ? }


? ? return total;




}

#??




#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAXTITL 41

#define MINAUTL 41

#define MAXBKS 10

struct book

{


? ? char tittle[MAXTITL] ;


? ? char author[MINAUTL] ;


? ? float value;


};

void main()

{


? ? struct book libarary[MAXBKS]? ;

? ? int count = 0;

? ? int index , filecount;

? ? FILE * pbooks;

? ? int size = sizeof(struct book);

? ? if ((pbooks = fopen(".//book.dat", "a+b")) == NULL) {

? ? ? ? fputs("cant open book.dat file \n ", stderr );

? ? ? ? exit(1);


? ? }

? ? rewind(pbooks);

? ? while (count < MAXBKS && fread(&libarary[count], size, 1, pbooks) == 1 ) {

? ? ? ? if (count == 0 ) {

? ? ? ? ? ? puts("current contents of book.dat ");


? ? ? ? }

? ? ? ? printf("%s by%s %.2f \n ",libarary[count].tittle,libarary[count].author,libarary[count].value);

? ? ? ? count++;


? ? }

? ? filecount = count;

? ? if (count == MAXBKS) {

? ? ? ? fputs("the book.dat file is full ", stderr);

? ? ? ? exit(2);


? ? }

? ? puts("please add new book titles ");

? ? puts("press enter at the start of line to stop ");

? ? while (count < MAXBKS && gets(libarary[count].tittle) != NULL && libarary[count].tittle[0] != '\0'? ) {

? ? ? ? puts("now enter the author ");

? ? ? ? gets(libarary[count].author);

? ? ? ? puts("now enter the value ");

? ? ? ? scanf("%f",&libarary[count ++ ].value);

? ? ? ? while (getchar()!= '\n') {

? ? ? ? ? ? continue;


? ? ? ? }

? ? ? ? if (count < MAXBKS) {

? ? ? ? ? ? puts("enter the next title");


? ? ? ? }


? ? }

? ? if (count > 0) {

? ? ? ? puts("here? is the list of your books ");

? ? ? ? for (index = 0; index < count ; index ++ ) {

?? ? ? ? ? ? printf("%s by%s %.2f \n ",libarary[index].tittle,libarary[index].author,libarary[index].value);


? ? ? ? }

? ? ? ? fwrite(&libarary[filecount], size, count - filecount, pbooks);

? ? }

? ? else puts("no books too bad \n");

? ? puts("bey\n");

? ? fclose(pbooks);

}





使用枚舉值( 編譯失敗)

#include <stdio.h>

#include <string.h>

#include <stdbool.h>

enum spectrum{ red,orange , yellow ,green,blue,violet};

const char * colors[]={ "red","orange" , "yellow" ,"green","blue","violet"};

#define LEN 30

int main()

{

? ? char choice[LEN];

? ? enum spectrum color;

? ? bool color_is_found=false;

? ? puts("Enter a color (empty line to quit)");

? ? while (gets(choice) != NULL && choice[0] != '\0')

? ? {

? ? ? ? for (color = red ; color <= violet ; color++) {

? ? ? ? ? ? if (strcmp(choice, colors[color]) == 0) {

? ? ? ? ? ? ? ? color_is_found =true;

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? if (color_is_found) {

? ? ? ? ? ? switch (color) {

? ? ? ? ? ? ? ? case red:

? ? ? ? ? ? ? ? ? ? puts("Roses are red ");


? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case blue:

? ? ? ? ? ? ? ? ? ? puts("Roses are red ");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case yellow:

? ? ? ? ? ? ? ? ? ? puts("Roses are yellow ");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case green:

? ? ? ? ? ? ? ? ? ? puts("Roses are green ");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case violet:

? ? ? ? ? ? ? ? ? ? puts("Roses are violet ");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case orange:

? ? ? ? ? ? ? ? ? ? puts("Roses are orange ");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? else

? ? ? ? ? ? printf("I Dont know about the color %s ",choice);

? ? ? ? color_is_found =false;

? ? ? ? puts("Next color p;ease (empty line to quit )");

? ? }

? ? puts("Goodbye");

}


使用函數(shù)指針



#include <stdio.h>

#include <string.h>

#include <ctype.h>

char showmenu();

void eatline();

void show(void(*fp) (char) , char * str);

void ToUpper(char*);

void ToLower(char *);

void Transpose(char *);

void Dummy(char *);

void main()

{

? ? char line [81];

? ? char copy [81];

? ? char choice;

? ? void (*pfun)(char *);

? ? puts("Enter a string (empty ine to quit )");

? ? while (gets(line) != NULL && line[0] != '\0') {

? ? ? ? while ((choice = showmenu() ) != 'n') {

? ? ? ? ? ? switch (choice) {

? ? ? ? ? ? ? ? case 'u':

? ? ? ? ? ? ? ? ? ? pfun =ToUpper ;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 'l':

? ? ? ? ? ? ? ? ? ? pfun =ToLower ;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 't':

? ? ? ? ? ? ? ? ? ? pfun =Transpose ;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 'o':

? ? ? ? ? ? ? ? ? ? pfun =Dummy ;

? ? ? ? ? ? ? ? ? ? break;


? ? ? ? ? ? }

? ? ? ? ? ? strcmp(copy, line);

? ? ? ? ? ? show(pfun, copy);


? ? ? ? }

? ? ? ? puts("enter a string emty line to quite "? );


? ? }

? ? puts("bey");


}

char showmenu(void)

{

? ? char ans;

? ? puts("Enter menu choice ");

? ? puts("u ) uppercase 1 ) lowercase ");

? ? puts(" T ) transposed case o ) original case ");

? ? puts("n) next tring ");

? ? ans =getchar();

? ? ans =tolower(ans);

? ? eatline()? ;

? ? while (strchr("ulton ", ans) == NULL) {

? ? ? ? puts("please enter a u? l t o or n ");

? ? ? ? ans =tolower(getchar());

? ? ? ? eatline()? ;


? ? }

? ? return ans;

}

void eatline ()

{

? ? while (getchar() != '\n') {

? ? ? ? continue;


? ? }


}

void ToUpper(char *str)

{

? ? while (*str) {

? ? ? ? *str =toupper( *str);

? ? ? ? str++;


? ? }

}

void ToLower (char *str)

{

? ? while (*str) {

? ? ? ? *str =tolower( *str);

? ? ? ? str++;


? ? }

}

void Transpose (char *str)

{

? ? while (*str) {

? ? ? ? if (islower(*str)) {

? ? ? ? ? ? *str =toupper(*str );


? ? ? ? }

? ? ? ? else if (isupper(*str))

? ? ? ? {

? ? ? ? ? ? *str =tolower(*str);


? ? ? ? }

? ? ? ? str++;


? ? }

}

void Dummy(char * str)

{


}

void show(void(*fp) (char) , char * str)

{

? ? (*fp)(str);

? ? puts(str);


}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末防泵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖蠢甲,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件慷蠕,死亡現(xiàn)場離奇詭異忧陪,居然都是意外死亡,警方通過查閱死者的電腦和手機浆洗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門催束,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伏社,你說我怎么就攤上這事抠刺。” “怎么了摘昌?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵速妖,是天一觀的道長。 經常有香客問我聪黎,道長罕容,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任稿饰,我火速辦了婚禮锦秒,結果婚禮上,老公的妹妹穿的比我還像新娘喉镰。我一直安慰自己旅择,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布侣姆。 她就那樣靜靜地躺著生真,像睡著了一般脖咐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汇歹,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天屁擅,我揣著相機與錄音,去河邊找鬼产弹。 笑死派歌,一個胖子當著我的面吹牛,可吹牛的內容都是我干的痰哨。 我是一名探鬼主播胶果,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼斤斧!你這毒婦竟也來了早抠?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤撬讽,失蹤者是張志新(化名)和其女友劉穎蕊连,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體游昼,經...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡甘苍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了烘豌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片载庭。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖廊佩,靈堂內的尸體忽然破棺而出囚聚,到底是詐尸還是另有隱情,我是刑警寧澤标锄,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布顽铸,位于F島的核電站,受9級特大地震影響鸯绿,放射性物質發(fā)生泄漏跋破。R本人自食惡果不足惜簸淀,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一瓶蝴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧租幕,春花似錦舷手、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盆赤。三九已至,卻和暖如春歉眷,著一層夾襖步出監(jiān)牢的瞬間牺六,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工汗捡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留淑际,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓扇住,卻偏偏與公主長得像春缕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艘蹋,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355