24小时热门版块排行榜    

查看: 1167  |  回复: 24

追梦进行曲

金虫 (小有名气)

[求助] 为什么负数不能输出?输出的却是乱码。 已有4人参与

#include <stdio.h>
void main()
{
        int  i;
        int a[2];
        printf("enter 2 integer numbers is :\n";
        for (i = 0; i<2; i++)
        {
                scanf("%d,", &a);
        }

        for (i = 0; i < 2; i++)
        {
                printf("%d ", a);

        }
        printf("\n";
}

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

bennett_14

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
输入错误,应当是&a,不是&a

发自小木虫Android客户端
君子当自强不息,死而后已!
2楼2015-09-19 16:41:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

迷夏惘冬

铜虫 (初入文坛)

亲,像你这么用指针是不对的,把输入输出处,改成&a[],a[]就可以了
不打死的蟑螂
14楼2015-09-20 22:25:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvweizhong

铜虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
#include <stdio.h>
void main()
{
? ? ? ? int??i;
? ? ? ? int a[2];
? ? ? ? printf("Enter 2 integers :\n";
? ? ? ? for (i = 0; i<2; i++)
? ? ? ? {
? ? ? ? ? ? ? ? scanf("%d", a+i);
? ? ? ? }

? ? ? ? for (i = 0; i < 2; i++)
? ? ? ? {
? ? ? ? ? ? ? ? printf("%d\n ", a);

? ? ? ? }
? ? ? ? printf("\n";
}

发自小木虫Android客户端
3楼2015-09-19 16:43:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bennett_14

木虫 (正式写手)

引用回帖:
9楼: Originally posted by 追梦进行曲 at 2015-09-19 17:01:10
&a后面的没显示全,应该是一个&a后面有一个中括号,中括号里面有一个i
...

对,不知道木虫为啥不显示那个中括号和里面的i

发自小木虫Android客户端
君子当自强不息,死而后已!
12楼2015-09-19 17:19:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

patrick314

铜虫 (小有名气)

我觉得小木虫论坛对程序代码的支持不是太好,看起来很费力。
13楼2015-09-20 14:51:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

于印霄

金虫 (小有名气)

你好,成功
15楼2015-09-21 09:19:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

296247999

新虫 (初入文坛)

16楼2015-09-21 17:31:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
scanf那条语句中,可以用&a【i】(中括号换成英文),也可以用a+i,所以这条语句不是引起你所谓的问题的原因。
估计你是输入时,忘了加","了,譬如:如果想将 -1赋值给a【0】,-2赋值给a【1】,则输入时应该输入 -1, 回车,-2, 回车  (-1和-2后均应输入英文输入法下的逗号)。
17楼2015-09-21 19:14:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

296247999

新虫 (初入文坛)

引用回帖:
17楼: Originally posted by sxu2009 at 2015-09-21 19:14:58
scanf那条语句中,可以用&a【i】(中括号换成英文),也可以用a+i,所以这条语句不是引起你所谓的问题的原因。
估计你是输入时,忘了加","了,譬如:如果想将 -1赋值给a【0】,-2赋值给a【1】,则输 ...

实测两个数之间只需要打空格就可以了。

发自小木虫Android客户端
18楼2015-09-22 09:04:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人走茶不凉

银虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
你的输出的第一个数应该是对的,但你也是蒙对了一个而已。scanf  要求 输入的是地址!
19楼2015-09-22 09:38:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

引用回帖:
18楼: Originally posted by 296247999 at 2015-09-22 09:04:33
实测两个数之间只需要打空格就可以了。
...

它的scanf语句是有,的,你确定直接敲空格,而不需要,吗?
20楼2015-09-22 17:17:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

【答案】应助回帖

引用回帖:
18楼: Originally posted by 296247999 at 2015-09-22 09:04:33
实测两个数之间只需要打空格就可以了。
...

测了一下,确实可以,不知道为什么了。
21楼2015-09-22 17:21:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

296247999

新虫 (初入文坛)

引用回帖:
20楼: Originally posted by sxu2009 at 2015-09-22 17:17:36
它的scanf语句是有,的,你确定直接敲空格,而不需要,吗?...

我把代码敲进电脑啦,上图。
为什么负数不能输出?输出的却是乱码。



发自小木虫Android客户端
22楼2015-09-23 08:51:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

追梦进行曲

金虫 (小有名气)

#include <stdio.h>
void main ()
{
        int  i;
        int a[2];
        printf("enter 2 integer numbers is :\n";
        for (i = 0; i<2; i++)
        {
                scanf("%d,", &a);
        }

        for (i = 0; i < 2; i++)
        {
                printf("%d ", a);

        }
        printf("\n";

}

[ 发自手机版 http://muchong.com/3g ]
4楼2015-09-19 16:45:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦进行曲

金虫 (小有名气)

#include <stdio.h>
void main ()
{
        int  i;
        int a[2];
        printf("enter 2 integer numbers is :\n";
        for (i = 0; i<2; i++)
        {
                scanf("%d,", &a);
        }

        for (i = 0; i < 2; i++)
        {
                printf("%d ", a);

        }
        printf("\n";

}

[ 发自手机版 http://muchong.com/3g ]
5楼2015-09-19 16:54:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦进行曲

金虫 (小有名气)

引用回帖:
3楼: Originally posted by lvweizhong at 2015-09-19 16:43:00
#include <stdio.h>
void main()
{
? ? ? ? int??i;
? ? ? ? int a;
? ? ? ? printf("Enter 2 integers :\n";
? ? ? ? for (i = 0; i<2; i++)
? ? ? ? {
? ? ? ? ? ? ? ? scanf("%d" ...

a+i为什么不能用&a代替

[ 发自手机版 http://muchong.com/3g ]
6楼2015-09-19 16:57:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦进行曲

金虫 (小有名气)

&a后面的没显示全,应该是一个&a后面有一个中括号,中括号里面有一个i

[ 发自手机版 http://muchong.com/3g ]
7楼2015-09-19 16:59:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦进行曲

金虫 (小有名气)

引用回帖:
2楼: Originally posted by bennett_14 at 2015-09-19 16:41:39
输入错误,应当是&a,不是&a

&a后面的没显示全,应该是一个&a后面有一个中括号,中括号里面有一个i

[ 发自手机版 http://muchong.com/3g ]
8楼2015-09-19 17:00:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦进行曲

金虫 (小有名气)

引用回帖:
2楼: Originally posted by bennett_14 at 2015-09-19 16:41:39
输入错误,应当是&a,不是&a

&a后面的没显示全,应该是一个&a后面有一个中括号,中括号里面有一个i

[ 发自手机版 http://muchong.com/3g ]
9楼2015-09-19 17:01:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvweizhong

铜虫 (著名写手)

a是数组,scanf时,对a不需要再取地址了。看看c/c++相关的内容。

发自小木虫Android客户端
10楼2015-09-19 17:10:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 追梦进行曲 的主题更新
信息提示
请填处理意见