额 做了个小题 以为随手就好的 结果.....C大神在哪
iterstudy吧
全部回复
仅看楼主
level 3
温热JJC 楼主
#include<stdio.h>
int main(){
char c;
while(1){
printf("Enter:\n");
if('a'<=(c=getchar())<='z')
printf("%c\n",c-32);
else if('A'<=c<='Z')
printf("%c\n",c
+3
2);
else if(c=='#')
break;
getchar();
}
return 0;
}
这是源码 只有第一个if起作用 下面的没用求解
下面上结果图
求解- -
2014年04月19日 10点04分 1
level 10
这个程序想表达什么
2014年04月19日 10点04分 2
大写输入小写输出 小写输入大写输出 #跳出
2014年04月19日 10点04分
输入#的话可以直接return 0了吧
2014年04月19日 10点04分
回复 b1004490283 :有关系吗- - 跳出循环不行吗
2014年04月19日 10点04分
回复 温热JJC :也行 就是少写一行代码 我放到IDE里看看
2014年04月19日 10点04分
level 10
#include<stdio.h>
int main()
{
char c;
while(1)
{
printf("Enter:\n");
c = getchar();
if('a'<=c&&c<='z') //此处有改动
printf("%c\n",c-32);
else if('A'<=c&&c<='Z') //此处有改动
printf("%c\n",c+32);
else if(c=='#')
break;
getchar();
}
return 0;
}
改成如上代码,大写转小写的功能可以正常运行了
刚刚逐步调试了一下
发现原来的代码只要满足c>='a'或者c<='z'都会往下执行代码
所以我在中间加了一个&&就大功告成了
但是不知道为什么
我在输入了
#之后程序会没有反应
先容我去吃个饭再看看
2014年04月19日 11点04分 3
本人是C渣渣 技术差勿喷(本人主攻C++)
2014年04月19日 11点04分
回复 b1004490283 :谢谢大神 我测试过了管用 输入#直接跳出 大神继续吃饭吧[太开心]
2014年04月19日 11点04分
可能是我IDE的问题 之前把VS卸了 现在在用Qt creator调试 程序读完最后一个大括号 IDE就提示找不到高亮定义..
2014年04月19日 11点04分
回复 b1004490283 :大神 能带JAVA吗
2014年04月20日 12点04分
level 9
看来没事了。。
2014年04月19日 14点04分 4
level 10
system.out.print();用于控制台单行输出
当然,也有C风格的system.out.printf();
printf支持C风格占位符,即%s %d啥的
2014年04月20日 15点04分 5
接口那部分不大懂 总觉得API用到的时候有资料查就可以 如果这样教程就不会单独一部分来讲解 怎么破
2014年04月20日 15点04分
回复 温热JJC :?
2014年04月20日 15点04分
回复 b1004490283 :我给你提的问题这是 这么吊的大神
2014年04月21日 08点04分
回复 温热JJC :API嘛。。我也不大了解 我一般都是用标准库
2014年04月21日 10点04分
level 10
system.out.print();也可使用占位符,但必须这么用
system.out.print(M essageFormat.format());
2014年04月20日 15点04分 6
多打了个空格不要在意这些细节
2014年04月20日 15点04分
刚手机没电了 稍等
2014年04月20日 15点04分
level 10
system.out.print(M essageFormat.format());的占位符与printf不太一样
示例:
system.out.print(M essageFormat.format(“{0}{1}{2}”,“hello”,“ java”,“ 123”));
{0}表示第一个占位符位置,{1}同理
这段代码最终输出
hello java 123
2014年04月20日 15点04分 7
level 10
system.out.println();与system.out.print();类似
只是前者多了一个输出后换行功能
2014年04月20日 15点04分 8
我已经尽我所能
2014年04月20日 15点04分
1