#include <stdio.h>#include <conio.h>
void main(void) { char buffer[256];
buffer[0] = 253;
printf("Type in a string and press Enter\n"); cgets(buffer);
printf("\n\nThe number of characters read was %d\n", buffer[1]);
printf("The string read: %s\n", &buffer[2]); }
上面为什么要初始化buffer[0],还有为什么要用buffer[1],&buffer[2]在上面有什么作用?用其他行不行?
C语言中,cgets函数问题
答案:2 悬赏:40 手机版
解决时间 2021-07-26 15:14
- 提问者网友:记得曾经
- 2021-07-25 19:56
最佳答案
- 五星知识达人网友:北城痞子
- 2021-07-25 20:17
因为buffer[0]定义了可以读取的字符的个数
而cgets用buffer[1]来存放实际读取字符的个数
实际存放的位置是从buffer[2]开始的
&buffer[2] 这个对buffer[2]取地址 也是为了让字符串从他开始显示的
而cgets用buffer[1]来存放实际读取字符的个数
实际存放的位置是从buffer[2]开始的
&buffer[2] 这个对buffer[2]取地址 也是为了让字符串从他开始显示的
全部回答
- 1楼网友:雪起风沙痕
- 2021-07-25 21:14
初始化buffer是cgets的要求。buffer[0]存放将要读多少个字符,buffer[1]存实际的字符数。从buffer[2]是读入的字符,那个buffer[2]取地址是printf中输出字符串,要求给出字符串的首地址
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯