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