问题 填空题

请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。
例如:当str[N]“123 abcdef ABCDEF!”,结果输出:
“123ABCDEFABCDEF!”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 80
void main()

int j;
char str[N]="123abcdef ABCDEF!";
char *pf=str;
clrscr();
printf("*** original string ***\n");
puts(str);
【1】
while(*(pf+j)).

if(*(pf+j)>=’a’&&* (pf+j)<=’z’)

*(pf+j)= 【2】
j++;

else
【3】

printf("****** new string ******\n");
puts(str);
system("pause");

答案

参考答案:【1】j=0 【2】*(pf+j)-32 【3】j++

解析:填空1:变量j声明时没有初始化,而后面程序用到j,所以在这里对j初始化为0。填空2:将小写字母转换为对应的大写字母的方法是,小写字母的ASCII码减去32,得到对应的大写字母的ASCII码。填空3:如果当前字符不是小写字母,则不做任何处理,使指针指向下一个字符,准备进行判断。

填空题
单项选择题