发布网友 发布时间:2022-04-30 14:55
共5个回答
热心网友 时间:2022-06-25 18:43
程序错误有两处:
1、第6行转换语句:cn=ch+32,写的位置不对,程序在执行到第6行的时候,ch还没有输入值。
2、程序在第9行存在逻辑错误,对输入的大写字母没有进行转换,因此输出来还是大写字母。
我帮你改了一下,实际测试可以正常运行,代码如下:
热心网友 时间:2022-06-25 18:44
你必须要把cn=ch+32;这一行下移2行才行,必须要先读取后再进行判断的。热心网友 时间:2022-06-25 18:44
//仅供参考#include int main(){char a;scanf ("%c", &a);if (a >= 'A' && a热心网友 时间:2022-06-25 18:45
c语言的赋值语句提交计算机执行时,仅完成赋值操作,计算机不会记录赋值的式子以等式形式在后面的程序中使用,因此,cn=ch+32;这个语句在ch还未赋值的情况下(scanf语句尚未执行)进行计算和赋值,会导致ch中的数据不可预测(Debug情况下其值等于0,exe执行时,要看ch变量位置以前其他程序运行遗留数据的取值了)。热心网友 时间:2022-06-25 18:46
#include<stdio.h>