这些行都从数组中打印出正确的条目,但每个只打印每个元素的3个字符,而不是定义每个元素的4个字符。我应该使用或更改Printf的默认设置或设置吗?
printf("at time[0][0]: \n%s \n",&time[0][0]);
printf("at time[3][0]: \n%s \n",&time[3][0]);
printf("at time[5][0]: \n%s \n",&time[5][0]);
答案 0 :(得分:1)
使用%c格式说明符打印...
删除&来自printf ...
如果要打印整个数组行,只使用行索引...
答案 1 :(得分:0)
%s是空终止字符数组的格式说明符。因此,在您的情况下,如果时间被声明为time [] [](二维数组),则time [0],time [3],time [5]是单独的空终止字符数组。 time [0] [0]表示只有一个字符(缓冲区中的第一个字符)。并且& time [0] [0]表示与time [0]相同。检查你是否有时间[0] [3]为0或'\ 0'或检查缓冲区是否为空终止,如果没有,则执行此操作。