| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:关于C语言文件名,输入和输出
只看楼主 加入收藏
wx1144542900
Rank: 2
等 级:论坛游民
帖 子:24
专家分:10
注 册:2013-11-1
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
关于C语言文件名,输入和输出
1.#inclue <stdio>这个文件头在现学阶段都要去写,但是它究竟是什么意思呢?
经我实验,发现如果没有写它,后边的printf 和scanf都无法识别,另外还有些其它的文件头?
2.scanf("f%",&i);   中为什么需要的是i的地址?
3.printf("f%",i);   对于i的输入输出在内存中是如何实现的,这时为什么又不需要i的地址了?

上述问题给个链接也行,谢谢大家帮忙
搜索更多相关主题的帖子: C语言 如何 
2013-11-03 16:49
rchunjiang
Rank: 4
来 自:大连
等 级:业余侠客
帖 子:42
专家分:262
注 册:2013-10-25
收藏
得分:2 
printf 和scanf都是stdio文件中定义好的函数,按格式用就行了
2013-11-03 17:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
1.stdio.h聲明一些函數,告訴編譯器程序將會使用這裡所列出的函數的其中一部分,鏈接器會查尋相關函數的實現代碼鏈接到程序中供使用。
2.新手先硬記著這樣用,以後自己嘗試寫一個類似功能的函數,自然知道是怎麼回事。
3.同2。

授人以渔,不授人以鱼。
2013-11-03 17:28
wx1144542900
Rank: 2
等 级:论坛游民
帖 子:24
专家分:10
注 册:2013-11-1
收藏
得分:0 
回复 3楼 TonyDeng
好的 谢谢 另外自己刚才在编程的时候遇到一点小问题,关于scanf的
#include "stdio.h"
void main()
{
int i=0,j=0,k=0;
scanf("% d%d%d",&i,&j,&k);    //此时第一个d之前有一个空格
printf("%d,%d,%d\n",i,j,k);
}

当我输入三个数后,运行后都显示为0,为什么不是输入数据
2013-11-03 18:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:6 
scanf()函數設計的時候,對格式字符串識別是把%d看成一個整體的,% d就不認為是格式符,這樣的輸入結果不可預測。這個問題本質上仍然與前面的2、3相同,解答就是:這是那些函數設計者設計成這樣的!

C語言本身沒有函數提供,它只提供編寫函數的機制,但自己卻沒有現成的函數,所有所謂的標準函數(庫函數)都是前人、別人寫好供我們使用的,庫函數不過是長期積累下來大家都願意使用的一批函數而已,不是什麼C語言固有的東西。你完全可以不使用這些怪誕的函數,自己覺得應該怎樣好就自己寫一個替代它,不需要被什麼庫函數束縛住。過了前期硬記硬用的階段,就應該有這種意識,不要把精力放在這些特定函數的格式上,弄得再精通,也是沒用的,像scanf()、printf()這類函數,寫作業就罷了,現實中是極少會用的,特別是在人機交互介面中,更不會有人用scanf()。

[ 本帖最后由 TonyDeng 于 2013-11-3 18:18 编辑 ]

授人以渔,不授人以鱼。
2013-11-03 18:05
快速回复:关于C语言文件名,输入和输出
数据加载中...
 
   



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

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