鱼C论坛

 找回密码
 立即注册
查看: 1057|回复: 6

[已解决]在声明变量时遇到的问题

[复制链接]
发表于 2021-10-25 20:02:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目的:
写一个程序,统计用户输入的字符串中,各个元音字母出现的次数(包含大小写的 a、e、i、o、u)。

代码如下:
#include<stdio.h>
int main()
{
 int a,e,i,o,u,n;
 char ch;
 
 printf("请输入一个英文句子:"); 
 while (ch!='\n')
 {
  ch=getchar();
  switch(ch)
  {
   case'a':case'A':a++;continue;
   case'e':case'E':e++;continue;
   case'i':case'I':i++;continue;
   case'o':case'O':o++;continue;
   case'u':case'U':u++;continue;
   default:continue;
  }
 }
 n=a+e+i+o+u;
 printf("您输入的语句中,包含元音字母%d个!\n",n);
 printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)",a,e,i,o,u);
 return 0;
} 

运行结果:
4NRSZ)U0CL17Z9`YTU}2QH2.png

遇到的问题:
int e 的初始值不是0,根据测试,应该是1.
不管声明变量中e的位置在哪,e值是存在问题的
测试方法:
程序成功编译并运行之后直接敲回车,显示e的值为1.
我在声明变量中将e和i的位置对调,e值仍为1.

关于编译:
编译没有报错或者警告。
只有e的值不正常。
编译环境:
Dev-c++

求教问题:
为什么这里的e的值不是0呢?
其他的变量为什么没有问题呢?
最佳答案
2021-10-26 08:58:13
你没有定义初始值是多少,系统是随机分配地址,可能存储e那个地方系统原来有值所以就会先等于1,其他也是恰巧分配的地址没有值而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-25 22:53:39 | 显示全部楼层

回帖奖励 +15 鱼币

本帖最后由 jhq999 于 2021-10-25 22:56 编辑

未初始化为零当然不是0。
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-25 23:12:47 | 显示全部楼层
jhq999 发表于 2021-10-25 22:53
未初始化为零当然不是0。

其他的呢?
为什么其他也没有初始化为零,却等于零呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-26 06:06:38 | 显示全部楼层
一阵三十六 发表于 2021-10-25 23:12
其他的呢?
为什么其他也没有初始化为零,却等于零呢?


问系统,我那知道它分配给变量的那块内存原来的值是多少?分配完成还有没有其他动作,你试一试都初始化为零
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-10-26 08:40:27 | 显示全部楼层

回帖奖励 +15 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-26 08:58:13 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +15 鱼币

你没有定义初始值是多少,系统是随机分配地址,可能存储e那个地方系统原来有值所以就会先等于1,其他也是恰巧分配的地址没有值而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-26 09:01:32 | 显示全部楼层

回帖奖励 +15 鱼币

需要给e定义初始值 要不然都是随机的数 根据系统分配
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 18:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表