c语言 麻烦大神帮忙分析下哪里错了

作者&投稿:姚非 (若有异议请与网页底部的电邮联系)
C语言问题,大神们帮我看一下,下面程序哪里错了~

int main(){
union DataUnion Union;
Union.cChar="assmally";
printf("cChar: %s
",Union.cChar);
return 0;
}

scanf("%lf",&x);位置不对,放到printf();后面。
这导致你的if()多分支语句,在没有为X从键盘(运行时)取得数据前就进行了判断……

y 没有值,是随机的

程序没有问题,楼主的猜测也都是对的。

#define M 30,就是令M为30。
还有(i%10==0)?'
':' ',确实,换行符与空格都是字符形式。
#include<stdio.h>
#define M 30 //定义后,在以下各行中M就表示30
main()
{ int s[M],i,k=1;
for(i=0;i<M;i++) {s[i]=k;k+=2;}//赋值1,3,5……共30个奇数
printf("
Sequence Output:
");
for(i=0;i<M;i++) //顺序,每行输出10个
{ printf("%4d",s[i]); //先输出数
if((i+1)%10==0) printf("
"); //满了10个,就换行
}
printf("
Invert Output:
");
for(i=M-1;i>=0;i--) //逆序,每行输出10个
printf("%d%c",s[i],(i%10==0)?'
':' '); //在输出每个数字后,如i是10的倍数就换行,否则输出一个空格
printf("
");
}