C語言總是
❶ c語言總是報錯
給你改了下:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<time.h>
voidinverse(int**a,ints,inth)
{
inti,j;
printf("轉換後為 ");//加個 輸出好看點
for(j=0;j<h;j++)
{
for(i=0;i<s;i++)
{
printf("%d",a[i][j]);//這里是a[i][j]
}
putchar(' ');
}
}
intmain()
{
inth,s;
inti,j;//ij定義
printf(" ");
scanf("%d%d",&s,&h);
//inta[s][h],i,j;c語言數組的長度必須是編譯期就能確定的常數,不能是變數
int**a=(int**)malloc(s*sizeof(int*));//動態分配空間
for(i=0;i<s;++i)
*(a+i)=(int*)malloc(h*sizeof(int));
srand(time(0));
printf("數列A為 ");
for(j=0;j<s;j++)
{
for(i=0;i<h;i++)
{
a[j][i]=rand()%100;
printf("%3d",a[j][i]);
}
putchar(' ');
}
inverse(a,s,h);//參數是a
for(i=0;i<s;++i)//釋放空間
free(*(a+i));
free(a);
return0;
}
❷ C語言怎麼老是出現一個錯誤
實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。
因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你裝在其他盤里,則仿照其路徑變通就行。
關鍵是microsoft visual studio\ 後面的東西要相同。
❸ C語言。。。這總是報錯。
1.main寫成了mian
2.for(i=0;i<10;i++)中i=0不能省略。
3.輸入的只能是整數,不能是浮點數,否則計算會出錯,因為你定義的回是整數。
修改之答後的程序如下:
#include<stdio.h>
void main ()
{
int arr[10]={0},i=0,sum=0,x=0;
float ave=0;
for(i=0;i<10;i++)
{
scanf("%d",&arr[i]);
}
for (i=0;i<10;i++)
{
sum=sum+arr[i];
}
ave=sum/10.0;
printf("the sum is %d\n",sum);
printf("the average is %f\n",ave);
}
❹ C語言總是從什麼函數開始執行
一個c語言程序的執行,從main函數中的指令開始執行。
一個程序,無論專復雜或簡單,總體上都是一個「屬函數」;這個函數就稱為「main()
函數」,也就是「主函數」。比如有個「做菜」程序,那麼「
做菜
」這個過程就是「主函數」。在主函數中,根據情況,你可能還需要調用「買菜,切菜,炒菜」等子函數。
main函數在程序中大多數是必須存在的,但是依然有例外情況,比如windows編程中可以編寫一個動態鏈接庫(dll)模塊,這是其他windows程序可以使用的代碼。由於dll模塊不是獨立的程序,因此不需要main函數。再比如,用於專業環境的程序-----如機器人中的控制晶元--可能不需要main函數。
❺ 2 一個C語言程序總是從()開始執行。
一個C語言程序總是從main()主函數開始執行。main是相對來說的,如同音學理論之主調於泛音,泛音即程序中的除main之外的其他函數,迎合人們的思考方式而生成的而非必定的模式。有主有次,執行起來條清縷析,既可將程序模塊化又實現了一個閉合的整體。
main 函數在程序啟動中完成對具有靜態存儲期的非局部對象的初始化之後被調用的。它是程序在有宿主 (hosted)環境(亦即有操作系統)中所指定的入口點。自立程序(啟動載入器,操作系統內核,等等)的入口點則由實現定義的。
主函數的兩個形參形式中的形參,允許從執行環境中傳遞任意的多位元組字元串(它們通常被稱為命令行參數),各個指針 argv[1] .. argv[argc-1] 指向每個這些字元串的第一個字元。argv[0] 是指向一個表示用於執行該程序自身的名字的空結尾多位元組字元串(或者當執行環境不支持時,為空字元串 "")的開頭字元的指針。
這些字元串是可以改動的,雖然對它們的改動並不會被傳回給執行環境:比如可以用 std::strtok 來使用它們。由 argv 所指向的數組的大小至少為 argc+1,其最後一個元素 argv[argc] 保證為一個空指針。
(5)C語言總是擴展閱讀
main 函數的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統)。
如果 main 函數的最後沒有寫 return 語句的話,C99 規定編譯器要自動在生成的目標文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不過,建議在main函數的最後加上return 語句,雖然沒有這個必要,但這是一個好的習慣。
也就是說在最新的C語言標准中強制要求main函數的返回值類型為int,main函數的返回值是傳遞給操作系統,讓操作系統判斷程序的執行情況(是正常結束還是出現異常)。
❻ c語言為什麼我總是等不到結果
首先!主函數中nono函數調用!不能在前面加void!
如果沒有一定要求fun函數用指回針 可以用下面的程序!答
#include <stdio.h>
int fun(int x1,int p[])
{
int i,j = 0 , k = 0;
for(i = 1; i <= x1 ; i++)
{
if(x1%i == 0 && i%2 != 0)
{
p[j++] = i;
k++;
}
}
return k-1;
}
int main()
{
int x,aa[100],n,i;
printf("please input\n");
scanf("%d",&x);
n = fun(x,aa);
for(i = 1; i <= n ; i++)
printf("%d ",aa[i]);
printf("\n");
system("pause");
return 0;
}
❼ c語言老是
#include<stdio.h>
void sk(int a[],int x);
void main()
{
int q[10],w;
scanf("%d",&w);
sk(q,w);
for(int o=0;o<10;o++)
printf("%d",q[o]);
}
void sk(int a[],int x)
{
for(int i=0;i<10;i++)
{*(a+i)=i*x;}
}
❽ C語言怎麼總是錯誤
你30行不已經已經寫了} 結束了main么,為啥後面還有代碼,如果30行這個}是多餘的就刪了。你截圖上後面代碼就是多餘的,把30行之後的所有內容刪了就行了。
❾ 為什麼一個C語言輸出老是輸出這個
因為你的程序有一些小地方需要改專正屬:
#include<stdio.h>
voidmain(){
inta,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d ",a,b);
if(b%a==0)printf("%d ",b/a);
elseprintf("b/a=%d,b%%a=%d ",b/a,b%a);
}