绚丽丶冰封 发表于 2016-1-8 21:58:02

编写了个scanf的最基础的命令出错了,盯着看了5分钟并没发现那里有问题求助。。

代码如下
# include <stdio.h>
int main(void)
{
        int i, j, k;

        scanf("%d,%d,%d", &i, &j, &k);
        printf("i = %d,j = &d,k = %d\n",i,j,k);

        return 0;
}
完全看不懂那里有问题。,。。。。

小甲鱼 发表于 2016-1-8 21:58:03

两个问题:

1. scanf("%d,%d,%d", &i, &j, &k);

双引号之间应该只存在格式化占位符,如果中间带了逗号(,),则输入的时候要用逗号隔开每个数据,而不是空格。

如果你输入的方式是“数据1 数据2 数据3”,那么正确做法应该是:scanf("%d%d%d", &i, &j, &k);

2. printf("i = %d,j = &d,k = %d\n",i,j,k);

应该是:printf("i = %d,j = %d,k = %d\n",i,j,k);

盯了那么久没看出来,说明……你……走……神……了{:10_283:}

仰望天上的光 发表于 2016-1-8 22:36:17

你不把你的输入和错误信息给出。。。打算让别人盯着看几分钟?如果代码比较长,你准备盯着看几小时?如果代码是实际项目的上万行代码,你准备盯着看几年?

绚丽丶冰封 发表于 2016-1-8 22:38:11

重点是我看不懂错误信息,错误信息我用金山翻译出来看不懂后我就没发,我第一次发这种的帖子不知道那个也要

SXTDU 发表于 2016-1-8 23:21:28

&d是嘛个意思?{:10_249:}

distooy 发表于 2016-1-9 00:05:01

,j = &d
改为 j=%d 就对了吧

青云风力 发表于 2016-1-9 10:45:04

你没给编译器提示好不好

青云风力 发表于 2016-1-9 10:45:48

小甲鱼,有问题,发帖了。是C语言等级考试的题目。

ufo9876 发表于 2016-1-9 11:33:52

看看

ryxcaixia 发表于 2016-1-9 12:47:40

甲鱼兄说的对
如果scanf(", , ") 格式化字符串中有什么特殊符号
那么你输入数据的时候 一定对应位置要输入相应的符号

小甲鱼 发表于 2016-1-9 16:36:08

青云风力 发表于 2016-1-9 10:45
小甲鱼,有问题,发帖了。是C语言等级考试的题目。

已回复~

绚丽丶冰封 发表于 2016-1-9 22:21:35

小甲鱼 发表于 2016-1-8 21:58
两个问题:

1. scanf("%d,%d,%d", &i, &j, &k);


{:10_257:}好吧我懂了。。,话说空格加了不应该没问题吗。怎么会出问题。

绚丽丶冰封 发表于 2016-1-9 22:27:01

SXTDU 发表于 2016-1-8 23:21
&d是嘛个意思?

{:10_245:}不明觉历好像是错在这才对。
页: [1]
查看完整版本: 编写了个scanf的最基础的命令出错了,盯着看了5分钟并没发现那里有问题求助。。