Redian新闻
>
东莞苹果代工厂万余工人因中秋福利取消停工 (转载)
avatar
东莞苹果代工厂万余工人因中秋福利取消停工 (转载)# PDA - 掌中宝
m*n
1
下面代码,如果把所有*去掉,结果是对的,
但我需要用指针传递数据,所以都用了指针,编译后,
结果就是Segmentation fault
帮看看为啥啊
#include
#define MAX 10
main()
{
int *row;
int *column;
int *total;
*row=1;
*column=1;
*total=0;
while(*total{
if(*column==*row)
{ printf("%4d",((*column)*(*row)));
*column=1;
(*row)++;
(*total)++;
if(*total}
else
{printf("%4d",((*column)*(*row)));(*column)++;(*total)++;}
}
printf("F\n");
}
avatar
J*n
2
【 以下文字转载自 Military 讨论区 】
发信人: nengneng (能能), 信区: Military
标 题: 东莞苹果代工厂万余工人因中秋福利取消停工
发信站: BBS 未名空间站 (Tue Sep 9 21:54:03 2014, 美东)
新京报讯 (记者李媛)昨日早上,广东东莞东城万士达液晶显示器有限公司万余名
工人集体停工,原因是公司在中秋没发月饼并取消了每人六百元的节日奖。截至昨晚5
时,目击者称工人仍未复工。
中秋无福利引发不满
中秋节假期后的第一天,位于东莞的东城万士达液晶显示器有限公司的万余名工人
集体停工,有的在宿舍里待着,有的情绪激动一度冲到工厂外马路上,导致交通堵塞。
有消息称,停工原因是因为过节没有发月饼。
“怎么可能只是因为没有发月饼?”昨日,一位不愿具名的万士达工人对新京报记
者说,“主要是过节费减少了,往年的端午、中秋、春节三个节日,满一年以上的员工
都会发600元过节费,上半年端午节还发了600,这次中秋节突然就不发了”。
上述员工还说,万士达员工的福利待遇一直不错,每年中秋都会发月饼、水果,但
今年什么都没有,引发了员工不满。
昨日,新京报记者多次致电万士达工厂,希望了解事件的解决方案,但前台电话始
终无人接听。
有现场目击人士对新京报记者称,昨日上午有七八名警察在现场维护秩序,中午前
后,员工陆续被劝回工厂。但自始至终,未见厂方代表出面解决停工事件。
现场目击人士称,截至昨日下午5时,工人仍未复工。
公司为苹果等品牌供货
万士达是苹果公司的代工厂,苹果公司一年一次的新品发布会即将举行,两个事情
的巧合让万士达的“苹果”背景受到关注。
公开资料显示,东莞万士达液晶显示器有限公司是全球首屈一指的中小尺寸液晶面
板生产商,苹果、诺基亚、摩托罗拉、三星、松下、索尼、飞利浦、TCL、西门子等全
球知名品牌是其主要客户。公司1995年开始营运,现有员工近13000人,厂区面积约120
余亩。2007年,公司获东莞工业龙头企业称号。
此次停工会不会对苹果公司的产品供应产生影响,昨日苹果方面并未给出回复。
观点
律师:招聘明确福利需兑现
记者发现,目前各大招聘网站上仍挂着万士达工厂的招聘信息,其中对福利待遇的
描述是:工厂薪资结构为本薪+工作津贴,奖金有产质奖、久任绩效奖、三节奖(端午节
、中秋节、春节)、其他奖金。
对此,曾参与过此类事件处理的广东翰泰律师事务所律师庞琨说,如果招聘启事中
或者在用工合同中写明有三节奖,按照法律规定就必须要发,如果招聘时、合同里都没
有,三节奖就属于福利,法律并没有强制要求有福利这一项,福利多少跟公司效益有关
,是公司自主经营的范畴。
“从另一个角度来说,工人有权利争取更多的福利并且联合起来谈判。发生停工体
现了资方和劳方博弈的过程,停工往往都是因公司自大、不理会、蛮横的态度导致的。
”庞琨说。(李媛)
(编辑:SN098)
avatar
b*5
3
小姐啊, 你pointer, 也弄个malloc啊
avatar
l*a
4
这是苹果利润的关键参数啊。
avatar
m*n
5
为了比较,下面这段代码是正确的啊
#include
main()
{int *p;
*p=0;
(*p)++;
(*p)++;
printf("%d\n",*p>1? 1:*p);
}
编译后,结果是 1

【在 b**********5 的大作中提到】
: 小姐啊, 你pointer, 也弄个malloc啊
avatar
t*t
6
这段代码也不对。没有segment fault是你走了狗屎运。

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
m*n
7
牛人给个权威的正确代码吧
这段

【在 t***t 的大作中提到】
: 这段代码也不对。没有segment fault是你走了狗屎运。
avatar
I*s
8
Address of row, column, total are pointing to address of constants 1,1,0.
Change the initialization to this (the rest no change) will work:
int r, c, t;
int *row = &r;
int *column = &c;
int *total = &t;
avatar
b*5
9
你试试assign个10啊, 100的看看

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
I*s
10
Similarly, change the top 2 rows to this will work:
int pv;
int *p = &pv;

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
s*u
11
我跑了下,崩溃了。
我的理解是,因为你指针指向一个常数而不是变量,所以这个很不稳定啊。很有可能比
如这块内存地址没有保留,等下再访问就访问不到了。
据我所知,只有char* 和const char*是可以直接赋literal的,但在传递参数的过程中
也会经常出现问题,所以还是char pstring[] = “sss”稳妥,不过如果用malloc分配
之后怎么赋初值我忘了。还是oop语言方便。

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
m*n
12
这个我明白,但是如果要赋值1给*p,必须如下么?
int pv=1;
int *p=≺

【在 I**********s 的大作中提到】
: Similarly, change the top 2 rows to this will work:
: int pv;
: int *p = &pv;

avatar
A*i
13
LZ这么用指针的我是第一次看见
太特么牛逼了
avatar
I*s
14
No need. You can do this too:
int pv;
int *p = &pv;
*p = 1;

【在 m**n 的大作中提到】
: 这个我明白,但是如果要赋值1给*p,必须如下么?
: int pv=1;
: int *p=≺

avatar
m*n
15
给指针赋值好麻烦,前面那个两行的,也对的吧?

【在 I**********s 的大作中提到】
: No need. You can do this too:
: int pv;
: int *p = &pv;
: *p = 1;

avatar
t*t
16
简而言之,指针必须指向存在或已知的位置。这个地方既可以是别的变量,也可以是动
态分配的内存。
修改指针位置的值,先确保对指针赋值。
你的例子里,*p=1相当于把指针p指的内存置为1,但是指针p指哪儿?你没对p赋值,所以
它指向random内存。

【在 m**n 的大作中提到】
: 牛人给个权威的正确代码吧
: 这段

avatar
I*s
17
Yes.

【在 m**n 的大作中提到】
: 给指针赋值好麻烦,前面那个两行的,也对的吧?
avatar
s*r
18
还是学Java吧,C有点难学
avatar
s*u
19
习惯了C++也有点不习惯java,比如没有运算符重载,然后java里面的object相当于都
是指针或者说引用,所以比如“==”的含义就完全不同。不过现在感觉特别C++11之后
,两个语言越来越像了。。比如auto关键词,多线程之类

【在 s*****r 的大作中提到】
: 还是学Java吧,C有点难学
avatar
m*n
20
修改后,这段代码对了
可是,我在多进程编程,多个子进程共同合作打印这个乘法表
需要用到semaphore,就是那些sem_wait, sem_post
如果在父进程里,设定这个semaphore,那每个子进程就可以直接拿来用了
可是现在问题是,main()函数里父进程并未设定这个semaphore,
该如何是好

【在 m**n 的大作中提到】
: 下面代码,如果把所有*去掉,结果是对的,
: 但我需要用指针传递数据,所以都用了指针,编译后,
: 结果就是Segmentation fault
: 帮看看为啥啊
: #include
: #define MAX 10
: main()
: {
: int *row;
: int *column;

avatar
f*4
21
这个为什么没给segmentation fault。。有没有编译器大牛来解释一下
因为p没初始化,所以指向的地址恰巧可用吗?

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
d*n
22
undefined behavior, 一切皆有可能

【在 f********4 的大作中提到】
: 这个为什么没给segmentation fault。。有没有编译器大牛来解释一下
: 因为p没初始化,所以指向的地址恰巧可用吗?

avatar
d*n
23
(1) p要指向某个具体的对象;
(2) 至少在c99里,main函数必须return int, 否则属于undefined behavior

【在 m**n 的大作中提到】
: 为了比较,下面这段代码是正确的啊
: #include
: main()
: {int *p;
: *p=0;
: (*p)++;
: (*p)++;
: printf("%d\n",*p>1? 1:*p);
: }
: 编译后,结果是 1

avatar
H*r
24
Java那套是大势所趋啊

【在 s********u 的大作中提到】
: 习惯了C++也有点不习惯java,比如没有运算符重载,然后java里面的object相当于都
: 是指针或者说引用,所以比如“==”的含义就完全不同。不过现在感觉特别C++11之后
: ,两个语言越来越像了。。比如auto关键词,多线程之类

avatar
s*r
25
C++的市场太小,还在萎缩中,学Java好处多多,易学容易扩展,工作机会多多

【在 s********u 的大作中提到】
: 习惯了C++也有点不习惯java,比如没有运算符重载,然后java里面的object相当于都
: 是指针或者说引用,所以比如“==”的含义就完全不同。不过现在感觉特别C++11之后
: ,两个语言越来越像了。。比如auto关键词,多线程之类

avatar
s*r
26
应该是吧。你纠结这个干什么呢,C的job很底层,写driver啥的,一般只有硬件公司才
需要,活苦钱还少。

【在 f********4 的大作中提到】
: 这个为什么没给segmentation fault。。有没有编译器大牛来解释一下
: 因为p没初始化,所以指向的地址恰巧可用吗?

avatar
f*4
27
哈哈我就一下小小的好奇一下

【在 s*****r 的大作中提到】
: 应该是吧。你纠结这个干什么呢,C的job很底层,写driver啥的,一般只有硬件公司才
: 需要,活苦钱还少。

avatar
c*7
28
看去的公司和组吧,几家大公司的infra部门,写C++的还是不少。感觉无论是C/C++还
是java,摸通了,想要学另外一个都不难,一些很细节的问题就没办法了,比如C++永
远都不知道它背着你在干些什么。。。

【在 s*****r 的大作中提到】
: C++的市场太小,还在萎缩中,学Java好处多多,易学容易扩展,工作机会多多
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。