c-字符串小写转大写

 

 

#include <stdio> 

int main(void) 
{ 
      int i=0;
      char string[100];
      strcpy(string,"abcdefghijklmnopqrstuvwxyz");

 
 while (string[i]!='\0'){ //将小写转化成大写
              if (islower(string[i]))   
                  string[i]=toupper(string[i]); 
 
       i++; 
   } 
   printf("%s\n",string); 
   return 0; 
}



deepfuture@deepfuture-laptop:~/private/mytest$ ./test15

ABCDEFGHIJKLMNOPQRSTUVWXYZ

### C语言实现字符串小写大写 在C语言中,可以利用字符编码特性来完成大小写字母之间的换。ASCII码表中小写字母'a'到'z'对应的数值范围是从97至122;而大写字母'A'到'Z'则对应于65至90之间。两者相差恰好为32,在十六进制下表示为`0x20`[^4]。 对于给定的一段文本,遍历每一个字符并判断其是否位于小写字母区间内(`'a'-'z'`)。如果是,则减去差值32即可得到相应的大写字母形式。下面给出一段完整的程序用于读取用户输入的字符串,并将其全部化为大写后打印出来: ```c #include <stdio.h> int main() { char string[100]; // 假设最大长度不超过100 printf("请输入一串英文字符:\n"); fgets(string, sizeof(string), stdin); int index; for(index = 0; string[index] != '\0'; ++index){ if((string[index] >= 'a') && (string[index] <= 'z')){ string[index] -= ('a' - 'A'); // 或者直接使用32代替('a' - 'A') } } puts("换后的结果:"); puts(string); return 0; } ``` 此代码片段首先定义了一个足够大的数组用来存储待处理的字符串。接着调用了`fgets()`函数获取用户的键盘输入。随后进入循环结构逐个访问每个字符,当遇到属于小写字母区间的字符时执行相应的变换操作。最后再次输出修改过的字符串内容[^2]。 值得注意的是上述例子采用了更灵活的方式计算偏移量即`('a' - 'A')`而非硬编码数字32,这样做不仅提高了可读性也增强了移植性和维护便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值