我正在编写一个程序来将小写句子转换为大写。我也想要字符串的长度。我通过(两者)数组和指针来做到这一点。程序如下:-
/* Program to convert the lower case sentence in upper case sentence and also calculate the length of the string */
#include<stdio.h>
main()
{
char fac='a'-'A',ch[20],*ptr,a[20];int i=0,count=0;
ptr=ch;
/* Changing case and printing length by using pointers */
printf("Enter the required string");
gets(ptr);
while(*ptr!='\0')
{
*ptr+=fac; // LINE #1
ptr++;
count++;
}
puts(ptr);
printf("%d",count);
/* Changing case by using arrays */
printf("Enter the required string");
gets(ch);
while(ch[i]!='\0')
{
ch[i]+=fac;
i++;
}
puts(ch);
return 0;
}
该程序非常适合打印长度(在指针部分)和更改大小写(在数组部分)。问题是指针的大小写转换。我的印象是 LINE#1 将存储在指针“ptr”处的值增加了所需的数字( 32 )。但是屏幕上什么也没有发生。为什么会这样?请帮忙。