c++如何给char(字符)定义的数组定义初值而不影响输出

我们都知道c++在运行时有时必须先给变量赋初值

int a
a=a+1

如果像这样那么a的值是不确定的我们必须这样

int a=0
a=a+1

这样的话a就一定是1

但如何给字符数组定义呢

这里有个例子

3) 某期刊外文标题惯用大写字母表示,请实现一个程序对不规范的标题进行修改,即将标题中的小写字母转为大写输出。原标题从键盘输入(说明:将一行内容存到字符串str[100]中,可以使用gets(str);,新标题输出到屏幕。

样例输入:AI Is the New Electricity

样例输出:AI IS THE NEW ELECTRICITY

[实现代码]

#include<stdio.h>



int main ()

{char str[100]={'\0'};



gets(str);

int i=0;

while(i<100){

      if (str[i]>='a'&&str[i]<='z')

      str[i]-=32;

      printf("%c",str[i]);

      i++;

     

}



             return 0;

}

其中 char str[100]假如没有赋初值的话就会出现乱码

所以需要char str[100]={'\0']

 这就是乱码的情况

这是改正后的效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值