c数组初始化
void sort(char array[][80], int num)
{
char sub[num][80];
char bufinfo[80];
char tmp[80];
int i, j, max;
char *ptr[num], c = ' ';
for (i=0; i <num; i++)
{
ptr[i] = strrchr(array[i], c);
}
for(i=0; i <num; i++)
{
strcpy(sub[i], ptr[i]+1);
}
for(i=0; i <num; i++)
{
max = i;
for(j=i+1; j <num; j++)
{
if(atoi(sub[j]) > atoi(sub[max]))
max = j;
}
if(max != i)
{
strcpy(tmp, sub[i]);
strcpy(sub[i], sub[max]);
strcpy(sub[max], tmp);
strcpy(bufinfo, array[i]);
strcpy(array[i], array[max]);
strcpy(array[max], bufinfo);
}
}
}
这个函数中对于普通数组和指针数组都没有初始化,为什么还能使用这个函数呢?请指点!
函数内的未初始化的数组自动初始化为未确定的值,这样很危险。
ptr[i] = strrchr(array[i], c);
strcpy(sub[i], ptr[i]+1);
strcpy(array[max], bufinfo);
这些好像是在初始化。
首先需要初始化的是什么?
char sub[num][80];
for(i=0; i
相关问答:
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位C ......
#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......
以前学过谭浩强的书,认真看过几遍,书上的题大部分自己编过,现在想进一步学习C,应该从哪方面着手呢?我准备看C与指针,大家觉得这本书怎么样?还是看其它的书?
你应该重新找《c primer plus》这本书看看。
c ......
如何用C画图,能否编一个具体的 。
#include <conio.h>
#include <stdio.h>
int main()
{
int i;
char *s[]={"BLACK","BLUE","GREEN","CYAN","RE ......