㈠ C語言排錯題:下面的代碼為什麼不能被編譯
如果是c語言的話。自己把new改為malloc就可以了
#include<stdio.h>
int m,n,i,j;
int main(void)
{
int ** A; //定義一個指向指針的指針
int i,j;
printf("Input the amount of rows and lines:");
scanf("%d%d",&m,&n);
A=new int *[m]; //開新空間
for( i=0;i<m;i++)
{
A[i]=new int[n];
}
for (i=0;i+1<=n;i++)
{
for (j=0;j+1<=m;j++)
{
printf("\nInput R%d,C%d:",i+1,j+1);
scanf("%d",&A[i][j]);
}
}
printf("\nInputing has been done.");
for (i=0;i+1<=n;i++)
{
printf("\n");
for (j=0;j+1<=m;j++)
{
printf("%d",A[i][j]);
}
}
return 0;
}
㈡ c語言中的函數可不可以單獨進行編譯
是可以的。
庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。
使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
(2)c語言不編譯部分代碼的方式擴展閱讀
函數庫的分類
1、字元串、內存和字元函數
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、數學函數
需要的包含文件:math.h;
3、動態存儲分配
需要的包含文件:alloc.h或stdlib.h ;
㈢ C語言可以不用編譯就被計算機識別執行對嗎
C語言是高級語言,要經過編譯才能被電腦識別執行。
Visual C++集成了MFC6.0,於1998發行,又稱vc98。發行至今一直被廣泛地用於大大小小的項目開發。但是,這個版本在WindowsXP下運行會出現問題,尤其是在調試模式的情況下(例如:靜態變數的值並不會顯示)。 這個調試問題可以通過打一個叫「Visual C++ 6.0Processor Pack」的補丁來解決。奇怪的是,這個網頁強調用戶也必須運行Windows 98、Windows NT4.0、或Windows 2000。這個C++版本對win7的兼容性非常差,有大大小小的兼容性問題。微軟不推薦安裝在windows7上。
希望我能幫助你解疑釋惑。
㈣ C語言代碼不能通過編譯,求高手指點,不勝感激,在線等
問題出在這里,你把shulie函數定義在了main函數的內部,稍作修改如下:
#include <stdio.h>
#include <stdlib.h>
int shulie(int a,int b,int n)
{
int *x;
x = (int*)malloc(n*sizeof(int));
long i;
x[0]=a;
x[1]=b;
for(i=0;i<n;i++)
{
if(x[i]*x[i+1]>9)
{
x[i+2]=x[i]*x[i+1]/10;
x[i+3]=x[i]*x[i+1]%10;
}
else{
x[i+2]=x[i]*x[i+1];
}
}
return 0;
}
int main()
{
int k, a, b, q, n, i;
int shulie(int, int, int);
scanf("%d", &k);
while(k--)
{
scanf("%d%d%d", &a, &b, &q);
for(i=0;i<q;i++)
{
scanf("%d", &n);
shulie(a,b,n);
}
}
return 0;
}
㈤ c語言代碼用哪個編譯器都不能編譯了
www.programarts.com下載個C-Free5用用吧
Dev-C++的是你配置不對,安裝時的一些選項沒選好,比如Dev-C++那兒安裝要你選是不是要把編譯器也安裝了,如果你沒有選,那Dev-C++只能當個語法加亮的東西了……而Codeblocks默認(好像)是沒有C++編譯器的。VS2012沒用過……
㈥ C語言代碼無法編譯
你看看後台,是不是還有之前調試運行的窗口沒關。再檢查一下代碼,看看有沒有代碼錯誤,你圖片上看到的代碼,只有一堆printf語句。再不行,就換個IDE把代碼貼過去編譯。
㈦ C語言部分代碼不執行(找質數)
你沒有對j初始化,所以循環中j<sqrt(100)不成立,就沒有執行循環
㈧ c語言里include包含的文件,編譯時是全部編譯還是將部分用到的內容編譯
在預處理時把代碼全部放進去,編譯時自然是全部編譯,但是後期涉及到動態庫的東西,其實有些函數沒有真的被鏈接進來(只是地址而已),這些東西慢慢來吧
㈨ C語言程序編譯時程序中的注釋部分是否參加編譯
可以參加。所謂注釋,便是用自然語言對源代碼中某些語句或方法進行說明。並且注釋的內容不會被編譯器編譯。可以在源代碼中添加任何想要添加的說明。
注釋可以出現在代碼中的任何位置,用來向用戶提示或解釋代碼的含義。程序編譯時,會忽略注釋,不做任何處理,就好像它不存在一樣。
如需要注釋的內容比較多,一行寫不完,如果在每一行注釋中都使用//。當然這種方法比較繁瑣,看起來頁面也不夠簡潔。這時候,就需要用到多行注釋。多行注釋還有一種不夠簡潔的注釋方式,那就是嵌套在代碼語句中。
(9)c語言不編譯部分代碼的方式擴展閱讀
使用注釋的例子的源代碼
/*
源世界整理,www.yuanshijie.top
*/
#include <stdio.h>
int main()
{
/* puts 會在末尾自動添加換行符 */
puts("http://www.yuanshijie.top");
printf("源世界博客 "); //printf要手動添加換行符
return 0;
㈩ C語言中條件編譯有哪幾種形式
預處理程序提供了條件編譯的功能。 可以按不同的條件去編譯
不同的程序部分,因而產生不同的目標代碼文件。 這對於程序的移
植和調試是很有用的。
條件編譯有三種形式,下面分別介紹:
1. 第一種形式:
#ifdef 標識符
程序段1
#else
程序段2
#endif
它的功能是,如果標識符已被 #define命令定義過則對程序段1
進行編譯;否則對程序段2進行編譯。
如果沒有程序段2(它為空),本格式中的#else可以沒有, 即可
以寫為:
#ifdef 標識符
程序段
#endif
#define NUM ok
main(){
struct stu
{
int num;
char *name;
char sex;
float score;
} *ps;
ps=(struct stu*)malloc(sizeof(struct stu));
ps->num=102;
ps->name="Zhang ping";
ps->sex='M';
ps->score=62.5;
#ifdef NUM
printf("Number=%d\nScore=%f\n",ps->num,ps->score);
#else
printf("Name=%s\nSex=%c\n",ps->name,ps->sex);
#endif
free(ps);
}
由於在程序的第16行插入了條件編譯預處理命令, 因此要根據
NUM是否被定義過來決定編譯那一個printf語句。而在程序的第一行
已對NUM作過宏定義,因此應對第一個printf語句作編譯故運行結果
是輸出了學號和成績。
在程序的第一行宏定義中,定義NUM表示字元串OK,其實也可以
為任何字元串,甚至不給出任何字元串,寫為:
#define NUM
也具有同樣的意義。 只有取消程序的第一行才會去編譯第二個
printf語句。讀者可上機試作。
2. 第二種形式:
#ifndef 標識符
程序段1
#else
程序段2
#endif
與第一種形式的區別是將「ifdef」改為「ifndef」。它的功能
是,如果標識符未被#define命令定義過則對程序段1進行編譯, 否
則對程序段2進行編譯。這與第一種形式的功能正相反。
3. 第三種形式:
#if 常量表達式
程序段1
#else
程序段2
#endif
它的功能是,如常量表達式的值為真(非0),則對程序段1 進行
編譯,否則對程序段2進行編譯。因此可以使程序在不同條件下,完
成不同的功能。
#define R 1
main(){
float c,r,s;
printf ("input a number: ");
scanf("%f",&c);
#if R
r=3.14159*c*c;
printf("area of round is: %f\n",r);
#else
s=c*c;
printf("area of square is: %f\n",s);
#endif
}
本例中採用了第三種形式的條件編譯。在程序第一行宏定義中,
定義R為1,因此在條件編譯時,常量表達式的值為真, 故計算並輸
出圓面積。
上面介紹的條件編譯當然也可以用條件語句來實現。 但是用條
件語句將會對整個源程序進行編譯,生成的目標代碼程序很長, 而
採用條件編譯,則根據條件只編譯其中的程序段1或程序段2, 生成
的目標程序較短。如果條件選擇的程序段很長, 採用條件編譯的方
法是十分必要的。
☆本章小結☆
1. 預處理功能是C語言特有的功能,它是在對源程序正式編譯前由
預處理程序完成的。程序員在程序中用預處理命令來調用這些功
能。
2. 宏定義是用一個標識符來表示一個字元串,這個字元串可以是常
量、變數或表達式。在宏調用中將用該字元串代換宏名。
3. 宏定義可以帶有參數,宏調用時是以實參代換形參。而不是「值
傳送」。
4. 為了避免宏代換時發生錯誤,宏定義中的字元串應加括弧,字元
串中出現的形式參數兩邊也應加括弧。
5. 文件包含是預處理的一個重要功能,它可用來把多個源文件連接
成一個源文件進行編譯,結果將生成一個目標文件。
6. 條件編譯允許只編譯源程序中滿足條件的程序段,使生成的目標
程序較短,從而減少了內存的開銷並提高了程序的效率。
7. 使用預處理功能便於程序的修改、閱讀、移植和調試,也便於實
現模塊化程序設計。