注册 登录
编程论坛 C++教室

这段程序在运行时输入完字符串后就无法运行了

hffjhhh 发布于 2020-08-07 12:28, 816 次点击
这段程序在运行时输入完字符串后就无法运行了,时什么原因?
程序代码:
#include<iostream>
int main(void){
    using namespace std;
    char *p="uui";
    cin>>p;
    cout<<p;
    return 0;
}
1 回复
#2
rjsp2020-08-07 12:34
你没看编译结果?
char *p="uui";
g++报
ISO C++ forbids converting a string constant to 'char*'

vc++报
“初始化”: 无法从“const char [4]”转换为“char *”


char *p="uui";
正确写法应当是 const char* = "uui";
当然,这样一来,你接下来的 cin>>p 就语法错误了。

要想 cin>>p 语法正确,就应该定义成 char p[] = "uui";
当然 char p[] = "uui"; 也挺奇怪了,输入超过3个字符就溢出了。

[此贴子已经被作者于2020-8-7 12:42编辑过]

1