scnaf先后输入同一个字符数组是否会有影响

声明一个字符数组,然后用scanf输入,之前的字符长一些,之后输入的字符短一些,那么之前字符长的部分是否会出现在第二个字符串当中呢?

代码如下:

#include<cstdio>
using namespace std;
int main(){
char s[32];
while(scanf("%s",s)==1)
printf("之后的字符串为: %s\n",s);
return 0;}

结果入下:


由此可见,当输入第二个字符串的时候,s数组不会继承之前的值。为什么呢?

改一改程序,使他输出字符数组的第五个元素。

#include<cstdio>
using namespace std;
int main(){
char s[32];
while(scanf("%s",s)==1)
printf("之后的字符串为: %s  %c\n",s,s[5]);

return 0;}

结果:


我们发现,s数组的第五个元素还是f,这就说明在输入第二个字符串的时候,知识在第四位一位加上了‘/0’,然而实际上在结束符的后面还存在之前的影响。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计学 1 计算机选择结构程序设计 计算机选择结构程序设计PPT学习教案全文共32页,当前为第1页。 2023/5/24 2 本章主要内容 4.1 if语句 4.1.1 if语句的一般形式 4.1.2 if语句的嵌套 4.2 switch语句 4.2.1 switch语句的一般形式 4.2.2 break语句 4.3 选择结构程序设计举例 第1页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第2页。 2023/5/24 3 简单分支语句 语句一般格式 if (表达式) 语句 功能: 计算表达式的值,如果是一个非0值(即逻辑真),就执行内嵌语句,否则(即逻辑假)跳过内嵌语句,顺序执行后续语句。 内嵌语句,可为: 赋值语句 函数调用语句 控制语句 复合语句 空语句 可为算术、关系、逻辑、赋值等表达式 第2页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第3页。 2023/5/24 4 简单分支语句的算法: 例如: if (x>0) m++; if ( a>b ) { c=a; a=b; b=c; } 表达式非0 T F 语句 N-S结构图 语句 流程图 N Y 表达式非0? 第3页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第4页。 2023/5/24 5 双重分支语句 语句一般格式 if (表达式) 语句1 else 语句2 功能: 计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。 第4页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第5页。 2023/5/24 6 双重分支语句的算法: 例如: if (x>0) m++; else m--; if ( ch>= 'a' && ch<= 'z' ) { ch=ch-32 ; printf(" %c\n",ch); } else printf(" %c\n",ch) ; 表达式非0 T F 语句1 语句2 N-S结构图 语句1 语句2 流程图 N Y 表达式非0? 第5页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第6页。 2023/5/24 7 多重分支语句 语句一般格式 if (表达式1) 语句1 else if (表达式2) 语句2 …… else if (表达式m) 语句m else 语句 n 功能: 依次计算并判断表达式i,为非0时执行后面的语句,都为0时,执行语句n 无论执行完那个语句分支,都转到后续语句 第6页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第7页。 2023/5/24 8 多重分支语句的算法 流程图 表达式2? 表达式1? 语句n 语句1 语句2 语句m … Y N Y N N Y 表达式m ? 第7页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第8页。 2023/5/24 9 多重分支语句的算法 N-S结构图 表达式1? T F 表达式2? 语句1 T F 语句2 … 表达式m? T F 语句m 语句n 例如: if (a<0) x= -1 ; else if (a==0 ) x= 0 ; else x=1 ; 第8页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第9页。 2023/5/24 10 if语句的简单应用 【例4.1】输入一个字符,如果是大写字母,则将其转换为小写字母输出,否则直接输出。 输入:用 getchar 或 scnaf 函数 ch是否为大写字母: ch>='A' && ch<='Z' (或 ch>=65 && ch <= 90) 大写字母转换为小写字母: ch=ch+32 输出:用 putchar 或 printf 函数 思路: 第9页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第10页。 2023/5/24 11 程序: #include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 程序运行情况如下: G g 运行jc4_1 可使用条件表达式代替 putchar(ch>='A' && ch<='Z' ? ch+32:ch); putchar (' \n') 第10页/共32页 计算机选择结构程序设计PPT学习教案全文共32页,当前为第11页。 2023/5/24 12 4.1.2 if语句的嵌套 如果if的内嵌语句中又使用了一个if语句,则构成if语句的嵌套。 【例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值