小错误集锦(更新自己不熟悉的小错误)

1.rand()函数种子设定(不熟悉):

srand(seed)用来将随机序列的起始点设为seed。

srand((int)time(0))表示以当前时间对应的int值为随机序列起点,这样每次运行程序,由于起点不同才可以得到不同的随机数time函数给出从1970年1月1日00:00:00至今的秒数,它必须带一个参数,用来存储这个秒数,time()会导致语法错误,time(0)表示秒数不进行存储。

2.qsort使用中的cmp(const void *a, const void *b) 有const

3.之前不太熟悉这样的用法

const int size = 20;
struct Node
{
 int c, f;
}e[size];

int cmp(const void *a, const void *b)
{
   Node *c = (Node *)a;
   Node *d = (Node *)b;

   return c->c*c->f - d->c*d->f;
}

qsort(e, size, sizeof(e[0]), cmp);

 字符串的字典序比较:

struct In
{
 char a[100];
 int b;
}  m[100];

int cmp(const void *a, const void *b)
{
  return strcmp( ((In*)a)->a, ((In*)b)->a );//或者return strcmp( (*(In *)a).a, (*(In *)b).a );
}
int main()
{
    int i;

 for(i = 0; i < 10; i++)
  cin >> m[i].a;
    qsort(m, 10, sizeof(m[0]), cmp); 
 for(i = 0; i < 10; i++)
  cout << m[i].a << "  ";
 return 0;
 
}
4...

你可能感兴趣的:(c,struct,存储)