为您找到"

char str[20] scanf("%s",str); 如果输入"How are you?回车" printf...

"相关结果约100,000,000个

一道C语言选择题:以下正确的程序段是:()

A. char str[20]; scanf("%s",&str);B. char *p; scanf("%s",p);C. char str[20]; scanf("%s",&str[2]);D. char str[20],*p=str; scanf("%s",p[2]);A:str是数组的名字,它单独出现时候代表的是该数组的首地址,&用在变量前代表取其地址,对str这个地址取地址,不是程序想...

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

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

5.以下正确的程序段是___.

①答案:C ②原因:A. char str[20]; scanf("%s", &str[2]); // 从str[2]地址处开始填入输入数据,前面0~1元素的数据不确定会导致后面不能完整用str索引 B. char str[20],*p=str; scanf("%s", p[2]); //p[2]不是地址 C. char str[20]; scanf("%s",&str...

定义数组char str[20],从键盘输入一个字符串存入该数组中

include <stdio.h>int main(){ char str[20]; scanf("%s",str);//输入 printf("%s\n", str);//输出 return 0;}希望你要的是C语言的。

char str[20] scanf("%s",str); 如果输入"How are you?回车" printf...

输出How scanf %s,默认以空格回车等空白符判别scanf结束 --- 当然要输出How are you?也可以,改成scanf("%[^\n]",str);

某段程序为char str[20]; scanf("%s",str); printf("%s",str); 当输 ...

输出是How,因为字符串中间有空格,即‘\0’,输出时会认为在How后字符串已经结束,因此就把该字符串输出出来。楼主有不懂可以再问哦。

...char str〖20〗,*p=str; scanf(“%s”,p〖2〗);

scanf的第一个参数是输入格式,第二个参数是输入内容的存放导致。scanf("%s",p[2])第二个参数错误,p[2]不是一个内存地址,而是一个字符 scanf("%s",&str[2])第二个参数正确,&str[2]是一个内存地址,指向的内存是str[20]这块内存缓存区的第3个字符所在的地址,因为前面有一个&取值运算符...

...会死机!这是为什么??char *str;scanf(“%s”,st

首先要明白str是一个指针,它存放的是计算机内的一个地址。那么按照你的写法,先声明这个指针,然后输入数据存放到这个地址起始的数据段内。如果这个数据段正好是计算机系统正在占用的内存,有重要数据,那么数据就被你输入的数据覆盖了,从而系统无法正常运行。当然这只是一种可能,也许你输入的数据被存放到...

main{char *p,str[20];scanf("%s",p);scanf("%s",str);printf("%s",p...

p是一个整型,它里面存的是char 类型所在的地址,你必须先给p指向,才能赋值。str是char数组,自然可以存储字符串,因为字符串也是字符的组成,不过在字符串最后有一个结束字符'\0',所以你按照字符串输出的意思就是,从当前地址输出,直到遇见结束标识符停止,代表把字符串输出完全。
1 2 3 4 5 6 7 8 9

相关搜索