char str[20]; scanf("%s",&str[2]);对吗

发布网友 发布时间:2024-10-24 14:37

我来回答

5个回答

热心网友 时间:2024-10-28 04:11

是对的没错,但是这样做是从str[2]开始写入.
str[0]和str[1]是随机值.
除非你手动给这两位赋值,
否则输出也只能从str[2]开始.
不然结果不可预知.

热心网友 时间:2024-10-28 04:09

是可以运行,但是得到的str是乱码,scanf("%s",&str[0]);&str[2]就是从str第三个字节开始赋值。请看如下例子,可以正常输出。
#include <iostream>
using namespace std;
int main()
{
char str[20];
str[0]='2';
str[1]='3';
scanf("%s",&str[2]);//输入整型数
cout<<str<<endl;
return 0;
}

热心网友 时间:2024-10-28 04:07

char str[20];
scanf("%s", str);

这样写就行了。

热心网友 时间:2024-10-28 04:06

就是不要str[0] 和str[1] 这两个单元的字符串啊。

热心网友 时间:2024-10-28 04:05

不对,应是 char str[20];scanf("%s",str);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com