C语言中二维字符数组结束标志符储存位置的问题

比如说我定义了char[3][3],那究竟是每行的都要有一个元素存储\0(即a[0][2]、a[1][2]、a[2][2]需要用来储存这个结束标志\0),还是说只要最后一个a[2][2]用来储存\0就行了(此时a[0][2]、a[1][2]可用用来储存a、b等字符)?

如果是为了读取字符串,那就是每行的、、、你定义的a[3][3]是这样的,一般你只能每行存2个,如
a[0][0] a[0][1] a[0][2] a b \0
a[1][0] a[1][1] a[1][2] c d \0
a[2][0] a[2][1] a[2][2] e f \0
这样在读取的时候遇到\0就读取了ab这个字符串、、、
如果你是单个读取的话,那不用加\0也可以、那样你得控制了下标读取你要a[0][2],a[1][2],a[2][2]
声明一下、、你如果在软件上运行的时候、你在a[0][2]、a[1][2]上也输入了字符、输出的字符串也是正确的、、因为计算机自动的在后面加上了a[0][3]='\0',但在考试的时候这是溢出,算错误的、、、
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-07
有也可,没有也可
有结束标志说明这是个字符串
没有结束标志说明这是个字符数组
相似回答