㈠ C和C++編譯結果為什麼不同
.c文件是純C語言,裡面的變數需要先定義,再使用。
改成這樣就可:
#include<stdio.h>
void search2(float** p, int n)
{
int i;
for (i=0; i<3; i++)
{
printf("%g ", *(*(p+n-1)+i));
}
}
void main()
{
float *p[3];
int nCount = 3;
float score[3][3]={{65,67,79},{80,86,84},{50,90,763}};
int nPos;
for ( nPos =0; nPos < nCount; nPos ++ )
p[nPos] = *(score+nPos);
search2(p, 2);
}
㈡ 為什麼我的VC++6.0里編譯的C程序結果總是不對
你的程序是有一小點的錯誤。首先,你應該將int型改為float型,因為你的scanf用的是%f。其次,你的語句scanf("%f,%f,%f",&a,&b,&c); 用的是%f,%f,
%f,所以你在運行時的輸入格式應該為:10,20,30 enter.特別注意:在輸入的時候不能是10 20 30 這就是你錯誤的所在啊!
㈢ 為什麼這條c語言程序,輸入同一個內容,運行結果會不一樣啊
c語言中定義的變數如果沒有賦值,將使用內存中的隨機值,也就是不確定的值;
本例中的變數n和變數LWH沒有初始化,使用的是不確定的值
int n,LWH;//沒有初始化,使用的是不確定的值
所以結果就不確定
解決辦法:
int n=0,LWH=0;
㈣ 我剛學C語言,為什麼這兩個代碼編譯的結果不一樣 不好意思,我新手,沒分給。
電腦執行是按順序來的,上下兩個順序不一樣,上面的先輸入數字賦給f,然後再進行下面的運算。下面的是先運算,這時你下面的輸入賦值語句還沒有執行,f中的數值是不定的隨機的,運算結果輸出的可能很奇怪,運算過後,電腦才給f賦值,這時候,運算結果在上面已經出來了,並且存入C中,你只改變了f的值,輸出結果只與c有關與f無關。
㈤ 用C語言寫了一個程序,如圖。請問為什麼用不同編譯器執行同樣代碼,結果不同
把 這一句: int b = b + 1;
改為 b = b + 1;
結果就一樣了
因為你在while中重新定義了變數b,但是沒有給b賦值,b的值是隨機的,有可能出現任何值
㈥ 一個C++小程序,在不同編譯器里運行結果不一樣,怎麼回事
r和c都沒有初始化,你就while(++r)了,當然結果不一樣。
在這種情況下,一般r,和c是隨機值,但一般是編譯器給的一個負數。
int r=0;
int c=0;
㈦ C語言同一段代碼運行結果不一樣
圖一本來就是正常的,不可能由代碼引起崩潰。崩潰只可能是其他原因引起的。
㈧ C語言代碼在不同編譯器下運行結果不同,請問原因
可以把fflush(stdin); 刪掉,有時候把這個刪掉就行了。scanf("%c", &ch);換成ch=getchar();應該就行了。
至於兩個編譯器不一樣的情況,這是肯定會有的,畢竟是兩個不同的編譯器。
㈨ C輸入同樣數據,編譯和運行結果不一樣 用的DEV- C++5.11
這種情況通常都是沒有初始化數據導致的,因為運行時內存中的值是隨機的,才會出現同種輸入,不同輸出