首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个数组,赋值时不能赋相同的值,怎么限定…

2012-05-09 
一个数组,赋值时不能赋相同的值,如何限定……就是在赋值的时候加上限定,不能和先前的数相同,如何实现[解决办

一个数组,赋值时不能赋相同的值,如何限定……
就是在赋值的时候加上限定,不能和先前的数相同,如何实现

[解决办法]
如果是C的话,不能用类的
可用
void *lsearch(const void *key, void *base, size_t *num, size_t width, int (_USERENTRY *fcmp)(const void *, const void *));
一个字符数组的例子:

C/C++ code
#include <stdlib.h>#include <stdio.h>#include <string.h>     /* for strcmp declaration *//* initialize number of colors */char *colors[10] = { "Red", "Blue", "Green" };int ncolors = 3;int colorscmp(char **arg1, char **arg2){   return(strcmp(*arg1, *arg2));}int addelem(char **key){   int oldn = ncolors;   lsearch(key, colors, (size_t *)&ncolors, sizeof(char *),     (int(*)(const void *,const void *))colorscmp);   return(ncolors == oldn);}int main(void){   int i;   char *key = "Purple";   if (addelem(&key))      printf("%s already in colors table\n", key);   else   {      printf("%s added to colors table\n", key);   }   printf("The colors:\n");   for (i = 0; i < ncolors; i++)      printf("%s\n", colors[i]);   return 0;} 

热点排行