| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1332 人关注过本帖
标题:c primer plus 第六章循环的第 14 题
只看楼主 加入收藏
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:2 
程序代码:
#include<stdio.h>
#define LENGTH 255
int main(void)
{ 
char a[255]; 
int i; 
for(i=0;i<LENGTH;i++) 
{
scanf("%c",&a[i]); 
if(a[i]=='\n')break;
}
a[i]='\0';
for(;i>0;i--) 
printf("%c",a[i-1]); 
printf("\n"); 
return(0);
}
2014-09-09 22:57
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 2 楼 erty1001
while(scanf("%c",letter[i])!='\n')
这样吗,可是为什么我这样用程序会崩溃
程序代码:
#include<stdio.h>
int main(void)
{
    char letter[255];
    int i=0,j;
    printf("Please enter what you want.\n");
    
    while(scanf("%c",letter[i])!='\n')
        i++;
        for(j=i;j>=0;j--)
    printf("%c",letter[j]);


}
2014-09-09 23:12
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 10 楼 TonyDeng
只能用for和while或者do while来做
2014-09-09 23:13
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 11 楼 hackrol
只能用for while do while来做
2014-09-09 23:13
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:0 
回复 12 楼 ctl184762651
while(scanf("%c",letter[i])!='\n')

改成  while(scanf("%c",&letter[i])!='\n')
2014-09-09 23:16
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 15 楼 hackrol
为什么要加&,好像书上说char不用加&
2014-09-09 23:28
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 15 楼 hackrol
我知道了,是我自己看错了,是数组才不加&,字符是要加的
2014-09-09 23:30
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 15 楼 hackrol
还是没解决啊,不打印,按了回车不执行打印
2014-09-09 23:42
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
回复 2 楼 erty1001
我发现没办法结束循环,按下回车键while循环不会结束,会让我接着输入
2014-09-09 23:48
ctl184762651
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2014-5-31
收藏
得分:0 
我已经漂亮解决

程序代码:
#include<stdio.h>
int main(void)
{
char letter[255];
int i=0,j;
printf("Please enter what you want.\n");
scanf("%c",&letter[i]);


while(letter[i]!='\n'){

           i++;
scanf("%c",&letter[i]);
}
i--;
for(j=i;j>=0;j--)
printf("%c",letter[j]);

return 0;


}
2014-09-10 14:10
快速回复:c primer plus 第六章循环的第 14 题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019575 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved