View Mode: Normal | Article List
csdn时发现的一个经典问题。。。
#include <stdio.h>
int main()
{
char *p="abcdef"; //很多书上说:p在栈,“abcdef”在数据区
p[2]='W';
printf(p);
getchar();
return 0;
}
这个程序编译通过,但是问什么程序运行会出错?

另一个:
#include <stdio.h>
int main()
{
char s[]="abcdef";//s在栈,“abcdef”在数据区
s[2]='W';
 printf(s);
getchar();
return 0;
}
这个程序能够正常输出!

请问这是为什么?
p,s和“abcdef”分别在那个区?
...

Read More...

冬游莲花山

[ 2008-11-09 23:02:03 | Author: wskyo ]
http://img.group.qq.com/cgi-bin/img?uuid=1157eaf86a10e14be986e58fc668aca6e4

http://img.group.qq.com/cgi-bin/img?uuid=11d582f0cd652f40c19d31c8990029b5f7

http://img.group.qq.com/cgi-bin/img?uuid=1144650196de7d433a8471e5d3528fbf39

http://img.group.qq.com/cgi-bin/img?uuid=11c0ecaef5426641399b317b87e0e8fc32

C编程的几种排序算法

[ 2008-11-07 11:59:36 | Author: wskyo ]
昨天逛网CSDN的时候看到的C语言实现的几个排序算法,发出来与大家共享。
/* 选择排序*/
void ss_sort(int e[], int n)
{ int i, j, k, t;
for(i=0; i< n-1; i++) {
for(k=i, j=i+1; j<n; j++)
if(e[k]>e[j]) k=j;
if(k!=i) {
t=e[i]; e[i]=e[k]; e[k]=t;
}
}
}
 /*直接插入排序*/
void si_sort(int e[], int n)
{ int i, j, t;
for(i=0; i< n; i++) {
for(t=e[i], j=i-1; j>=0&&t<e[j]; j--)
e[j+1]=e[j];
e[j+1]=t;
}
}
/* 冒泡排序*/
...

Read More...
摘自: http://20050726.blog.sohu.com/102738614.html

从火车为日本人停驶看国人的特权文化

新华网报道,为了帮助7名日本乘客赶上飞机,8月22日,齐齐哈尔驶向大连方向的2220次列车临时停车一分钟。当火车在距离机场最近的车站停车后,列车长又联系当地警方派出警车护送7名日籍旅客到达机场。

此消息被媒体报道后,为保证日本旅客赶上飞机的助人之举不但未得到广大网民的赞扬,与之相反,得到的却是一片质疑与嘘声。虽然中国的火车也有为本国公民临时停车的先例,但停车的原因却是为了救命。

人们质疑的是,7名日本人仅仅是因为赶飞机,铁路方就能打破常规为他们大开绿灯。如果是中国人出现这样情况,列车会不会为本国公民停驶1分钟?

也许有人会说,中国号称礼仪之邦,助人为乐是其文化传统,日本旅客有困难需要帮助,铁路方面破例停车也...

Read More...
摘自: http://xiuluobixia.blog.sohu.com/102738473.html

  8月22日,大连客运段火车为帮助日籍乘客赶上飞机,临时在靠近机场的车站停1分钟,更具有玩味的是,为确保万无一失,列车长还联系了警车为这些日籍乘客专门开路。事后日籍乘客专门用汉语写来表扬信,并称“这在世界上任何一个国家都是做不到的”。此事引发网友极大争议:火车是否应该停车?是否会为中国乘客停车?其中,接近九成网友认为,火车不会为中国乘客临时停车。面对网友质疑,沈阳铁路局则不予回应。

  “这在世界上任何一个国家都是做不到的”,事实上,的确是这样,除了招火车就停的印度。但是,在中国却做到了,而且还是为日本人开了先河,某机关工作人员表示:外国友人到中国来都是我们的客人,我们有义务去帮助他们。何况这件事也是因为我们的列车晚点造成的,不过火车临时停车以前确实很少听说过。
...

Read More...

C语言中常用的交换排序法

[ 2008-10-24 15:33:29 | Author: wskyo ]
#include <stdio.h>
#include <stdlib.h>

void swap(int *p1,int *p2);
void bubble_sort(int *a,int n);

/*
函数功能:使用交换法进行排序:从小到大;
函数原型:void swap_sort(int *a,int n)
函数参数:int *a:数组名
 int n :排序元素数
函数返回值:void
*/
void swap_sort(int *a,int n)
{
 int i,j;
 for(i=0;i<n-1;i++)
 {
 for(j=i+1;j<n;j++)
 {
 if(a[j]<a[i])
 {
 swap(&a[j],&a[i]);
 }
 }
 }
}
/*
函数功能:实现两个元素的互换
...

Read More...

C语言中常用的选择排序法

[ 2008-10-24 15:32:21 | Author: wskyo ]
#include <stdio.h>
#include <stdlib.h>

void swap(int *p1,int *p2);
void select_sort(int *a,int n);

/*
函数功能:使用选择排序法进行排序:从小到大;
函数原型:void select_sort(int *a,int n)
函数参数:int *a:数组名
 int n :排序元素数
函数返回值:void
*/
void select_sort(int *a,int n)
{
 int i,j,small;
 for(i=0;i<n-1;i++)
 {
 small=i;
 for(j=i+1;j<n;j++)
 {
 if(a[j]<a[i])
 {
 small=j;
 }
 }
 swap(&a[i],&a[small]);
...

Read More...

C语言中常用的快速排序法

[ 2008-10-24 15:29:24 | Author: wskyo ]
#include <stdio.h>
#include <stdlib.h>

void swap(int *p1,int *p2);
void quick_sort(int *a,int left,int right);

/*
函数功能:使用快速排序法进行排序:从小到大;
函数原型:void quick_sort(int *a,int left,int right)
函数参数:int *a:数组名
 int left:排序数组的开始下标
 int right:排序数组的结束下标
函数返回值:void
*/
void quick_sort(int *a,int left,int right)
{
 int upper,low,point;
 if(left<right)
 {
 point=a[left];
...

Read More...