社区
C语言
帖子详情
scanf()和printf()的问题
vmape
2003-09-07 08:48:02
#include <stdio.h>
int main()
{
int num[2];
scanf ("%d %d",num[0],num[1]);
printf ("%d %d",num[0],num[1]);
return(0);
}
就着么简单的程序,运行时毛病多得不得了。我输入12 32,它输出64 3129???为什么啊?
谢谢大家!
...全文
41
11
打赏
收藏
scanf()和printf()的问题
#include int main() { int num[2]; scanf ("%d %d",num[0],num[1]); printf ("%d %d",num[0],num[1]); return(0); } 就着么简单的程序,运行时毛病多得不得了。我输入12 32,它输出64 3129???为什么啊? 谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windyguy
2003-09-08
打赏
举报
回复
数组绝对不是指针,这是一个误解,具体看C专家编程一书,邮电出的。作者是Peter
比如指针的地址是0x310f,这个地址里面存的东西是0x330f,所谓指针指向的东西就是0x330f。
但是数组名就不一样了,它并没有一个地址来存放它指向的东西。可以把它看作一个地址常量。
Zeroins
2003-09-08
打赏
举报
回复
zhuixe(竹子) 兄:
应为:
scanf ("%d %d", num, num+1); 和
scanf ("%d %d", &num[0], &num[1]); 一样吧
scanf (%d %d", &num[0], &num[1]);== scanf ("%d %d", &(*(num + 0)), &(*(num + 1)));
== scanf ("%d %d", num, num+1);
Zeroins
2003-09-08
打赏
举报
回复
num 可以理解为一个常量指针
那麽 *(num + 0)、*(num + 1) …… 是指针吗
*(num + 0) == num[0]
*(num + 1) == num[1]
……
所以 scanf ("%d %d",&num[0], &num[1]);
CAT323
2003-09-08
打赏
举报
回复
通通一句话解答:
数组是划分的一段内存空间;
数组名是为了方便人们引用已定义的数组而存在的一个地址,用标识符表示;
指针是一个变量:专门存放地址,它可以指向存放任意变量、数组的内存单元;
lyff8neo
2003-09-07
打赏
举报
回复
你最好去看看the c programme 中的库函数啊!
zhuixe
2003-09-07
打赏
举报
回复
num 是数组,也是指针,num[0],num[1]只是数组的一个元素,不是指针
scanf("%d",num),可以将num当作指针,但num指向的数据是num[0],
num+1, 指向num[1]
scanf("%d",num,num+1),和scanf("%d",num[0],num[1]),一样
breezerain
2003-09-07
打赏
举报
回复
num[0], num[1]不是数组,只是数组的一个元素而已
vmape
2003-09-07
打赏
举报
回复
我知道scanf应该传递地址,但是数组本身不就是指针么?!没有理由再引用啊?改正之后确实好用了,可是…………谁能解释一下,数组还需要引用么?谢谢了!
dong780315
2003-09-07
打赏
举报
回复
!! 又学到了点知识!
jakelove
2003-09-07
打赏
举报
回复
其实毛病并不多。只有一行:scanf ("%d %d",num[0],num[1]);
改为: scanf("%d %d", &num[0], &num[1]); (当然,如果要考虑溢出的话,就需要多加入一些代码了)
windyguy
2003-09-07
打赏
举报
回复
……,scanf应该传地址吧。
scanf("%d %D",&num[0],&num[1]);
scanf
与
printf
的用法
文章目录前言一、
scanf
与
printf
二、使用方法1、
printf
的使用方法2、
scanf
的使用方法总结 前言 学习c语言编程,必不可少的操作就是键盘输入与屏幕输出。今天我想讲讲自己对
scanf
与
printf
使用的看法 一、
scanf
与
printf
printf
()函数是一个格式化输出函数, 用户可以通过该命令向标准输出设备输出指定的格式信息。使用的方法是:
printf
(“格式化字符串”, 变量)。在使用前需要注意的是该命令被定义在stdio.h头文件中(C语言),所以需要在程序中加入#includ
详解c++中
scanf
和
printf
用法(大神请忽略)
详解
scanf
和
printf
,如有不当的地方请大佬指正 本蒟蒻第一次写东西,有些小激动呢!
c语言
scanf
和
printf
区别,
printf
和
scanf
的区别是什么
printf
和
scanf
的区别:1、
printf
是格式化的输出函数,
scanf
是C语言的输入功能;2、
printf
用于以规定格式将信息输出到标准输出设备,
scanf
是一种格式输入功能,即以用户指定的格式从键盘将数据输入到指定的变量中。本文操作环境:Windows7系统,宏基S40-51电脑。
printf
和
scanf
的区别:1、指代上的区别(1)
printf
:是格式化的输出函数。(2)
scanf
:是...
scanf
和
printf
的输入输出格式
C++
scanf
和
printf
的输入输出格式学习目标:学习内容: 学习目标: 掌握常见的
scanf
和
printf
的输入输出格式 学习内容:
scanf
常见输入格式
printf
常见输出格式
scanf
的格式控制符: 格式符 说明 d,i 用于输入十进制整数 u 以无符号十进制形式输入十进制整数 o(字母) 用于输入八进制整数 x 用于输入十六进制整数 c 用于输入单个字符 s 用于输入字符串(非空格开始,空格结束,字符串变量以’\O’结尾) f
C语言之
scanf
和
printf
函数
C语言中,我们经常使用
scanf
和
printf
在控制台实现输入、输出功能。但相信也经常忽略一个细节,那就是
scanf
和
printf
函数,两者都有一个int类型的返回值,如图: 注意下方:
scanf
("%d,%d", &a, &b),控制台输入要和"%d,%d"格式一样:数字+逗号+数字,当输入逗号后,表示输入下一个数字。 上述ret1有3种结果:0、1、2 1)ret
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章