问答题 下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中后面的字符删除,只保留前面的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> #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<N;i++)puts(x[i]); printf("\n"), fun(x,4); printf("\nThe string after deleted:\n\n"); for(i=0;i<N;i++) puts(x[i]); printf("\n"); }
【正确答案】正确答案:(1)[M] (2)N (3)'\0'
【答案解析】解析:填空1:根据main函数中的函数调用语句,确定函数定义时的形式参数,所以填入[M]。 填空2:while循环语句需要对所有字符串进行操作,因此循环条件是i<N。 填空3:字符串结尾加入字符串结束标识'\0'。