段错误 程序访问的非法的内存
百度查是这么说的没懂 段错误 程序访问的非法的内存#include <stdio.h>
#define URL "http://www.fishc.com"
#define NAME "鱼C工作室"
#define BOSS "小甲鱼"
#define YEAR 2010
#define MONTH 5
#define DAY 20
int main()
{
printf("%s 成立于%s 年%s 月 %s 日\n", NAME, YEAR, MONTH, DAY);
printf("%s 是%s 创立的......\n", NAME, BOSS);
printf("%s 的域名%s \n", NAME, URL);
return 0;
}
请师兄们指教下 本帖最后由 得意的屁 于 2016-9-12 17:21 编辑
又打一遍 问题找到了 不过还是有些不懂 请问
%s后面的参数当字符串处理
%d 后面的参数当整数处理
printf("%s 成立于 %d 年%d 月%d 日\n', NAME, YEAR, MONTH, DAY);
这里 NAME 定义 是鱼C工作室, 其他三个是数字
在句子中 %s 和 %d后面不全是大写的英文么?MANE YEAR MONTH DAY 不都是字符串么 为什么用 %s 不行呢?{:5_93:} #define YEAR "2010"; 是不是字符串看的不是宏定义的标识符;而是标识符后面的 常量;比如我加个双引号就成了字符串常量了
#define MONTH 5这个就只是整型常量 ;
你S%打印没问题 都用双引号扩起来就好了 SingleLove 发表于 2016-9-12 18:06
#define YEAR "2010"; 是不是字符串看的不是宏定义的标识符;而是标识符后面的 常量;比如我加个双引号就 ...
基本明白了 我就是定义没整透彻是吧
%c 后面的参数当字符处理
%f 后面的参数当浮点数处理
%s 后面的参数当字符串处理
%d 后面的参数当整数处理
%d 打印带符号的
%u 打印不带符号的 是么 是的;这类问题先百度或者找找书本,都有讲解的 #define定义的东西类型不明的,只是简单的宏替换而已,最好用const定义变量比较好, 因为#define定义是宏定义,类型没有表明,所以都用字符串%s输出,我也在学C,有问题可以问我 飞飞123 发表于 2016-9-12 22:58
因为#define定义是宏定义,类型没有表明,所以都用字符串%s输出,我也在学C,有问题可以问我
好的谢谢
SingleLove 发表于 2016-9-12 18:06
#define YEAR "2010"; 是不是字符串看的不是宏定义的标识符;而是标识符后面的 常量;比如我加个双引号就 ...
请教下师兄 改双引号 改完了 出现这玩意了不让保存请问师兄遇到过没 可能双引号不能后补 要成对打吧 屁哥 发表于 2016-9-13 20:05
请教下师兄 改双引号 改完了 出现这玩意了不让保存请问师兄遇到过没
你把这句英文复制下来到百度一搜就会有解决方法了
应该是文件访问权限的问题;只读? SingleLove 发表于 2016-9-14 08:00
你把这句英文复制下来到百度一搜就会有解决方法了
应该是文件访问权限的问题;只读?
这段文字能复制? 怎么复制 快教教 有学一招 谢谢
页:
[1]