问答题 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #define M 10 /**********found**********/ void fun(char (*ss) __1__, int k) { int i=0 ; /**********found**********/ while(i< __2__) { /**********found**********/ ss[i][k]=__3__; i++; } } main() { char x[N][M]={"Create","Modify","Sort","skip","Delete"}; int i; printf("/nThe original string/n/n"); for(i=0;i fun(x,4); printf("/nThe string after deleted :/n/n"); for(i=0; i }
【正确答案】
【答案解析】解题思路: 本题是根据给定的字符串数组中删除串长大于某个值的右边字符串。 第一处:函数的定义,试题中已用M作为字符串的长度,所以应填:M。 第二处:利用while循环,分别对字符串数组中的每个字符串置字符串结束符,程序中已经给定了N个字符串,所以应填:N。 第三处:置字符串结束符,所以应填:0(或'/0')。