【问题标题】:the @ printed as a dot@ 打印为一个点
【发布时间】:2021-07-28 13:44:58
【问题描述】:

[为什么要打印@@(.)??][1]

     #include <iostream>
     using namespace std;

     int main()
    {
    
    string email;
    cin >> email;
    int size = email.size() - 1;
    int i = 0;
    int endsiz = size - 4;

    char dot = '.';
    char at = '@';
    while (((email[i] >= 'a' && email[i] <= 'z') || (email[i] >= 'A' && email[i] <= 'Z') || (email[i] 
    = dot)) && (i <= endsiz) && email[i]!=at)
    {
        cout << email[i] << endl;
        i++;

    }
        
    }

我想在 (i) 到达 @ 时停止 while 循环,但正如您看到的 @ 打印为 (.) 我不知道为什么? [1]:https://i.stack.imgur.com/UiGCT.png

【问题讨论】:

  • email[i] = dot 应该是email[i] == dot

标签: c++ string while-loop


【解决方案1】:

请检查您的 if 条件 应该是

email[i] == dot

在你的情况下,

当您输入 email[i] = dot 时,它基本上将 email[i] 中的 char 分配/替换为 '.'

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    相关资源
    最近更新 更多