鱼C论坛

 找回密码
 立即注册
查看: 1037|回复: 9

linux下学c的尴尬...

[复制链接]
发表于 2016-12-20 22:45:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不知道大家有在linux下c的吗?本人就是一枚,又是边看小甲鱼老师的c语言入门视频,又在linux下写小甲鱼老师视频上写的c程序,可是问题来了,一直报错,都快崩溃了。
求解!

#include <stdio.h>

void main ()
{
     printf("%d \n",sizeof(int));
}

这是小甲鱼老师视频里的一个C程序

这是Linux下的报错   

muzi@muzi-TongFang-G41T-CM3:~/桌面/学习笔记/学习C语言入门到精通/学C第一天$ gcc  试列程序4.c
试列程序4.c: In function ‘main’:
试列程序4.c:5:15: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
      printf("%d \n",sizeof(int));
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-12-20 22:45:59 | 显示全部楼层
在线求解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-21 00:13:53 | 显示全部楼层
错误说的很明白的了啊

printf里的前一个元素中d%是int型,你后面的那个元素是长无符号整形,前后不匹配啊。

编译器还专门把那一行打印出来了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-21 00:17:47 | 显示全部楼层
可是小甲鱼这样写  确实编译运行成功了   就是纠结这里...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-21 00:24:30 | 显示全部楼层
你linux装的是什么版本啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-21 08:53:42 | 显示全部楼层
这不是错误,是警告
程序应该是可以运行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-21 11:18:54 | 显示全部楼层
乌班图 16.10   Linux下C没提示就是成功有任何提示应该都是报错吧   是不是Windows下写C和Linux下写C有区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-21 11:27:19 | 显示全部楼层
自己也还看了一本C语言入门  一个老外的写的  里面的程序在Linux下运行也没报错  个人对比了下 是不是不规范的原因?
#include<stdio.h>
int  main(void)
{
     
return  0;
}
那本书是这样写的  中间就省略了  自己看了小甲鱼的3集C语言视频 除了 hello word 那个运行了  其他的几乎不是这里有点问题就是那里有点问题     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-21 21:45:24 | 显示全部楼层
adas 发表于 2016-12-21 11:27
自己也还看了一本C语言入门  一个老外的写的  里面的程序在Linux下运行也没报错  个人对比了下 是不是不规 ...

不同硬件对相同代码编译出的结果可能不同:
你逐个排除一下:
1、数据类型所占空间不同      
     不做说明了,有的高端点的机器,可能INT占8字节

2、数据类型表达不同            
     例子:unsigned int是无符号数,那么int到底有没有符号?答:根据所在环境不同而不同

3、对运算符优先级的处理不同
     例子:
i = 2;
p = ++i + ++i + ++i;
本人亲测,intel的CPU编译后运行结果是 p=15
而AMD的CPU编译后运行结果是 p = 13

好吧,目前就发现这么多,所以自己根据GCC编译问题的提示来看吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-12-21 21:53:12 | 显示全部楼层
zealstar 发表于 2016-12-21 21:45
不同硬件对相同代码编译出的结果可能不同:
你逐个排除一下:
1、数据类型所占空间不同      

谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 17:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表