定义了一个[10][10]的二维字符数组,通过循环for使得[i][j]获得字符,但发现如果输入的字符少于100个,即数组未被填满,程序变会在循环处停住,无法接着运行,如何修改又提供新思路来将不足100个的字符串放进[10][10]的数组里?
用getchar取输入,用-1或者其他作为结束信号,然后判断是否退出循环
你输入的字符未到达你定义的100个字符,但是编译器会默认给你生成你的未定义的每个字符为'\0'也就是结束标识符。什么意思呢,你定义的100个字符是填满的状态,不会循环停住。以下是我定义的一个二维数组100个字符,循环并未停止。只不过除了打印出定义的字符外其余什么都没打印,但确实这个二维数组是被填满的。
如果是算法题目的话,人家会给一个范围啊,比如n,m
那么你行的退出条件设置为n,也就是i<n
列的退出条件设置为m,也就是j<m
这样不就解决了吗?
有用记得采纳呐!