读书人

数组a[]负值后 在最后加个‘#’ 怎样

发布时间: 2012-02-20 21:18:23 作者: rapoo

数组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
{/*...*/}

读书人网 >C语言

热点推荐