C語言問題

2023-01-02 13:05:32 字數 642 閱讀 1535

1樓:匿名使用者

1全部你寫的if (strcmp(p1,p2)>0)temp=p1;p1=p2;p2=temp;

相當於if ( strcmp(p1,p2)>0 ) temp=p1;

p1=p2;

p2=temp;

在恰好字串a不大於b時,temp由於從來沒有被賦過初值而導致混亂。

建議將該句改成如下語句,其他的兩個句子也這麼改:

if ( strcmp(p1,p2)>0 ) //加大括號

2樓:匿名使用者

沒有加括號

給的竟然是圖

if(strcmp()>0)

下面雷同

還有字串的賦值是用strcpy(p1, p2); 不是p1=p2;

懂?共兩個問題

3樓:匿名使用者

a,b,c三個變數都沒有初始化。

在gets前面加上

memset( a, 0, sizeof(a) );

memset( b, 0, sizeof(b) );

memset( c, 0, sizeof(c) );

變數使用之前初始化也是好習慣,

看1l那個,未分配記憶體的指標是不能strcpy的

c語言問題,C語言問題?

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

c語言問題,C語言問題?

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...

C語言問題C語言問題,C語言小問題段錯誤是什麼

str2num char p num num k return num c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock printf n return 0 c語言小...