小萌新求带。请问:vs中while语句和VC中是不是有区别。有代码。。

一墨千里无色 2017-11-01 01:34:04
#include<stdio.h>
int main()
{
int n = 0; int m = 0; int x = 0; int y = 0;
int c;
while (c != '\n')
{
c = getchar();
if (c >= 'a'&&c <= 'z'||c >= 'a'&&c <= 'z')
n++;
// else if (c == 32)
// m++;
else if (c >= 48 && c <= 57)
x++;
else
y++;

}
printf("字母 total:%d\n", n);
// printf("空格 total:%d\n", m);
printf("数字 total:%d\n", x);
printf("其他字符 total:%d\n", y);

return 0;

}


比如说这个程序,vs报错c4700,但是VC正常运行。
还有个题外话= = ,请问这个程序最后其他字符为啥是1呢,就算不输入除了字母空格数字的其他字符也是1。。奇怪
...全文
252 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2017-11-06
  • 打赏
  • 举报
回复
1,第一可以随便给c一个不为'\n'的值 2、改while循环为do while循环
一墨千里无色 2017-11-06
  • 打赏
  • 举报
回复
啊。。。 那怎么给c初始化呢?此程序的c不需要赋值啊 如果按2楼大神的,相当于c初始化了吗?(在while语句的循环条件表达式中写)
LXL110306 2017-11-01
  • 打赏
  • 举报
回复
引用 3 楼 hdt 的回复:
c 没有初始化
正解
真相重于对错 2017-11-01
  • 打赏
  • 举报
回复
c 没有初始化
一墨千里无色 2017-11-01
  • 打赏
  • 举报
回复
谢谢楼上大神,不过请问,为啥我这么写,在vs中报错,在VC中可以使用捏
自信男孩 2017-11-01
  • 打赏
  • 举报
回复
#include<stdio.h>

int main()
{
    int n = 0;
    int x = 0;
    int y = 0;
    int c;

    while (c != '\n')
    {
        c = getchar();
        if ((c >= 'A'&& c <= 'Z')|| (c >= 'a'&&c <= 'z'))
            n++;
        else if (c >= 48 && c <= 57)
            x++;
        else
            y++;

    }
    printf("字母 total:%d\n", n);
    printf("数字 total:%d\n", x);
    printf("其他字符 total:%d\n", y);

    return 0;

}
while都是一样的。不可能是while的问题; 注意遇到换行符'\n'退出循环,但是在退出循环前,已经计算了,即其他字符就已经加1; 即使不输入数字和字母,直接输入回车,得到其他字符为1,就是计算了'\n' 如此判断就不会将换行符算入其他字符了:
#include<stdio.h>

int main()
{
    int n = 0;
    int x = 0;
    int y = 0;
    int c;

    while ((c = getchar()) != '\n')
    {
        if ((c >= 'A'&& c <= 'Z')|| (c >= 'a'&&c <= 'z'))
            n++;
        else if (c >= 48 && c <= 57)
            x++;
        else
            y++;

    }
    printf("字母 total:%d\n", n);
    printf("数字 total:%d\n", x);
    printf("其他字符 total:%d\n", y);

    return 0;

}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧