| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:初学C语言,一个输出问题
只看楼主 加入收藏
休_休
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-3
收藏
 问题点数:0 回复次数:8 
初学C语言,一个输出问题

#include <stdio.h>

void main()
{
char name;
printf("输入您的姓名:");
scanf("%s",&name);
printf("您的名字:%s\n",name);
}


当连接 运行后- -

输入了姓名..

但是 后面 输出 您的名字的时候 就直接换行..然后就 程序出错了- -
我用的 是 VC6.0++


问题 解决了- -原来 要用 数组 - -~``- -


#include <stdio.h>

void main()
{
char name[10];
printf("输入您的姓名:");
scanf("%s",name);
printf("您的名字:%s\n",name);
}


还有一个 问题- -~``

昨天试做了一个 计算3个数字的和...

但是 计算完毕 以后 程序 就直接 结束了- -界面消失了...

请问 如何 解决呢?- -好像都素这样来的- -





谢谢 各位 热心的会员!!!问题已经解决!!真的非常感谢- -!!

[此贴子已经被作者于2007-7-16 14:49:35编辑过]

搜索更多相关主题的帖子: C语言 初学 输出 
2007-07-16 11:22
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

请注意%s是字符串输入格式,如要输入的是字符请用%c,输出也一样。如你把定义为char name[10];这就是字符数组。
还有一点,输入字符串,不需要加地址运算符。

[此贴子已经被作者于2007-7-16 11:29:20编辑过]


深山苦学C语言,终年不见外面世界。
2007-07-16 11:28
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
以下是引用休_休在2007-7-16 11:22:30的发言:

#include <stdio.h>

void main()
{
char name; //这里是char ,字符型
printf("输入您的姓名:");
scanf("%s",&name); //所以这里不用%s
printf("您的名字:%s\n",name); //你这里有换行符,所以肯定要换行
}


当连接 运行后- -

输入了姓名..

但是 后面 输出 您的名字的时候 就直接换行..然后就 程序出错了- -
我用的 是 VC6.0++

#include <stdio.h>

void main()
{
char name[20];
printf("输入您的姓名:");
scanf("%s",name);
printf("您的名字:%s\n",name);
}

这样就OK了,支持汉字输入.....
VC++6.0


千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-07-16 11:29
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
加个getchar(),到输出代码后面。

深山苦学C语言,终年不见外面世界。
2007-07-16 11:30
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
%s用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束.字符串以串结束标志'\0'作为其最后一个字符

认真看下书就明白了
2007-07-16 11:35
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-07-16 12:52
爱c1314
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-7-16
收藏
得分:0 
到C的初学者乐园来吧 QQ群:42675698

hi,world
2007-07-16 13:19
C的灿烂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-16
收藏
得分:0 


学习就是大家一起讨论才有意思
希望以后能多提出些问题大家一起研究研究.

2007-07-16 14:31
小野猫
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-13
收藏
得分:0 
呵呵
把char name;定义的变量变为数组就可以了
一个变量只可以接收存储一个字符的
还应该注意的是scanf("%s",name)中不要输入&,只有要数组名,
%s在控制数组接收数据的时候如果遇到空格,换行,制表符的时候即停止接收,
遇到非法输入的时候也会停止接受的。

第2个问题很好解决的
你在最后一行输入 system("pause");就可以了。
学C语言一定要精细,切不可粗心!!!

2007-07-16 16:09
快速回复:初学C语言,一个输出问题
数据加载中...
 
   



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

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