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

数组a[]负值后 在最后加个‘#’, 怎样写好?++解决办法

2012-02-20 
数组a[]负值后 在最后加个‘#’, 怎样写好?++char a[10]memset(a, \0, sizeof(a))/* 数组负值 */.......

数组a[]负值后 在最后加个‘#’, 怎样写好?++
char a[10];

memset(a, '\0', sizeof(a));

/* 数组负值 */
..............

/* 在最后一个字符后加个'#'*/
a[strlen(a)]='#' ; 我是这样写的,不过感觉不是很好

另,负值后 strlen(a)<10;

还有没有什么更安全的方法呢?

[解决办法]
另外在a[strlen(a)]='#' ;确认一下strlen(a)<10(strlen(a)<sizeof(a)-1)
[解决办法]
应该在数组赋值后判断加'#'操作是否会越界,如下:

char a[10]; 
memset(a, '\0', sizeof(a)); 
/* 数组负值 */ 
.............. 
if(strlen(a) <= 8)//确保加了一个'#'后仍然有位置存放'\0',如果你的程序不需要,则为9
{
a[strlen[a]] = '#';
}
else
{/*...*/}

热点排行