在键盘上输入一行字符,存入一个字符数组中,然后输出该字符串请填空 求解释下这个程序的各个步骤

在键盘上输入一行字符,存入一个字符数组中,然后输出该字符串请填空 求解释下这个程序的各个步骤,第1张

#include <stdio.h>

#include <math.h>

void main()

{

char str[81], *sptr

int i

for(i = 0 i < 80 i++)

{

str[i] = getchar()

if(str[i] == '\n')// 如果此时的字符是回车的话就不要执行循环出现火车意味

//着字符串输入结束 你没发现你输入完字符串最后巧了一下回车么?

//一旦是回车就会执行break for循环结束 

break

}

str[i] = '\0'//for循环一旦结束就会执行这一句 注意此时i的值就是你输入的字

  //符个数 作用是在最后一个字符后面加上一个‘\0’字符用来作为c语言判断字符串结束的依据

sptr = str  // 把字符串str 的首地址赋值给sptr 此时sptr的值就是str数组的首地址

while(*sptr) putchar(*sptr++) // 只要*sptr 就是以sptr的值 为地址的char个字节

//单元的值不是0('\0')就继续执行循环体(即:purchar(*sptr++)) 

//就是输出str里面的内容也就是你输入的字符串

}

//总结:这个题目抛开算法不说。其实就是考察你的字符串的是以什么为依据结束,

// 数组和指针变量的关系,以及循环语句的综合使用。

14下面程序可求出矩阵 a 的两条对角线上的元素之和,请填空

j=2

j>=0

15. 下面程序段将输出 computer,请填空。

i<Strlen(charc)

if(i<7) continue

16. 下面程序的功能是在三个字符串中找出最小的。请填空。

strcmp(str[0],str[1])<0?str[0]:str[1]

s

17. 在以下程序,数组 a 中存放一个递增数列。输入一个整数 x,并将它插入到数组 a 中,使该数组仍为一个递增数列。请选择正确的答案。

D (因为要插入另外一个x 所以必须要11)

A(跳出循环A)

D(向前遍历)

D(插入x)

如有不明白 可联系我!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12195461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存