这个程序如何正确输入(c语言)

这个程序如何正确输入(c语言),第1张

解释:

1、在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入:

scanf("%c%c%c",&c1,&c2,&c3);

如输入 ab  c

字符‘a’送给c1,字符‘ ’送给c2,字符‘b’送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此‘ ’作为下一个字符送给c2。

2、在输入数据时,遇以下情况时该数据认为结束。

① 遇空格,或按“回车”或“跳格”(tab)键。

② 按指定的宽度结束,如“%3d”,只取3列。

③ 遇非法输入。

如scanf("%d%c%f",&a,&b,&c);

若输入

1234 a 123o26

↓ ↓ ↓

a b c

第一个数据对应%d格式在输入1234之后遇字母a,因此认为数值1234后已没有数字了,第一个数据到此结束,把1234送给变量a。字符‘a’送给变量b,由于%c只要求输入一个字符,因此输入字符a之后不需要加空格,后面的数值应送给变量c。如果由于疏忽把本来应为123026错打成123o26,由于123后面出现字母‘o’,就认为该数值数据到此结束,将123送给c。

解答:所以你应该在输入完7182后直接输入字母,不要回车,因为回车也是一个字符,系统会当做是将你输入的回车字符送给了C1变量。

第一 sub1 sub2没有执行任何 *** 作,因为没有实参形参,应该和sub3一样有参数才对。

第二 sub3的参数也有错误,max作为里面的一个参数,没有值!你意思应该是将MAX 10这个值传给它,但是形参里没有,无法传递

A对 字符数组赋值可以不用&,用了也是对的

B错 只有一个指针,但是这个指针并未指向可用的空间。

C错 虽然程序运行没问题,但是这样做是从s[2]开始写入s[0]和s[1]是随机值

前面0~1元素的数据不确定会导致后面不能完整用str索引 ,获取不到正确值

D错 str是什么,如果前面初始化为char str[20],也是错的,因为p[2]是一个字符,不是地址

所以A对,C的话 可以运行,但是获取的值不对,看你怎么认为该选项对不对了

望采纳

C语言中,程序文件本身是文本格式,如果只是查看代码的话,可以这样做:打开记事本,使用文件中的“打开”菜单。在d出的对话框中选择文件类型为“所有文件”,然后再浏览到程序文件,点击打开。但是如果需要在编译器环境中进行调试或编译等 *** 作,则必须使用编译器,编译器必须使用与C语言文件在编写时使用的环境要求,不同的编译器提供的库函数不同,不能混用。

高效率:说到程序,运行效率是不可避免的话题。如何提高效率,一是 最准确的算法,二是 一些小的细节,打个比方:for(int i=;i<strGetLength();i++)  就这个循环的判定条件而言,完全可以改成int len=strGetLength(), for(int i=0;i<len;i++);不要小巧这个改懂,如果你的字符串str很长的话,也会影响效率的,因为每循环一次就要调用一次函数GetLength。

刚学C语言要抓住几个重要的知识点,一个是三大结构,二是数组,三是函数,四是指针,然后结构体,最后把学生管理系统写出来就差不多了,至于编写程序的正确性,可以通过调试,推荐vc60,调试很不错,可以随时看某个变量的值是怎样变化的,进而查出问题的根源,对学习很有帮助。

以上就是关于这个程序如何正确输入(c语言)全部的内容,包括:这个程序如何正确输入(c语言)、求下列C语言程序的正确运行结果 为什么结果两行都是0 2 4...18,不应该第一行012345、C语言选择题:以下正确的程序段是:()等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10164446.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存