1. 怎樣讓c語言程序重復執行
例如:
#include<stdio.h>
intmain(void)
{
charc;
c=getchar();
while(c!='')//輸入空格退出
{
printf("%c",c);//這里改成你需要的那個函數做相應的工作就可以了
c=getchar();
}
return0;
}
(1)c語言如何重新運行整個函數擴展閱讀
C語言循環控制語句
#include<stdio.h>
intmain(){
inta;
/*forloopexecution*/
for(a=10;a<20;a=a+1)
{
printf("valueofa:%d ",a);
}
return0;
}
C編程語言中do...while循環的語法是-
do{
statement(s);
}while(condition);
2. C語言中重新實現庫函數
fgets是從文件讀取,getchar是從輸入讀取,兩個還是有區別的
懷疑是gets
如果一定要用fgets的話,那麼可以先用freopen重定向輸入,來使fgets和getchar的定向相同
以下用gets實現或者被實現
含測試函數main
#include <stdio.h>
int str_to_int(char *str)
{
int sign = 1;
int ret = 0;
char *p;
p = str;
if(*p == '+') p++;
else if(*p == '-') sign = -1, p ++;
while(*p)
{
if(*p >= '0' && *p <= '9')
ret = ret * 10 + (*p - '0');
else break;
p ++;
}
return sign * ret;
}
int get_int_with_getchar()
{
char a[20] = {0};
int i = 0;
while(i<19)
{
a[i] = getchar();
if(a[i] == '\n')
break;
i ++;
}
a[i] = 0;
return str_to_int(a);
}
int get_int_with_gets()
{
char a[20] = {0};
gets(a);
return str_to_int(a);
}
void gets_with_getchar(char *str)
{
int i = 0;
if(str == NULL) return;
do
{
str[i] = getchar();
}while(str[i++] != '\n' );
}
char *do_strchr(char *src, const char c)
{
char *p = src;
while(*p && *p!= c) p ++;
if(*p != c) return NULL;
return p;
}
int do_isdigit(char c)
{
return c <= '9' && c >= '0';
}
int do_isalpha(char c)
{
return (c <= 'Z' && c >= 'A') || (c <= 'z' && c >= 'a');
}
int main()
{
int a;
char test[100] ;
a = get_int_with_getchar();
printf("get_int_with_getchar = %d\n", a);
a = get_int_with_gets();
printf("get_int_with_gets = %d\n", a);
gets_with_getchar(test);
printf("gets_with_getchar = %s\n", test);
printf("do_strchr %s %s\n", do_strchr(test, 'a'), do_strchr(test, 'b'));
printf("do_isdigit = (%d,%d) \n", do_isdigit('1'), do_isdigit('a'));
printf("do_isalpha = (%d,%d) \n", do_isalpha('1'), do_isalpha('a'));
}
3. c語言如何跳回前面的某一個點重新從那裡開始運行
用goto語句。
#include<stdio.h>
voidmain()
{
inta;
begin:scanf("%d",&a);//goto語句的標號begin
if(a<0||a>9)
gotobegin;//如果用戶輸入的數不在0~9之間,則重新輸入
eles
printf("%d ",a);//如果用戶輸入的數在0~9之間,則輸出該數
}
(3)c語言如何重新運行整個函數擴展閱讀:
goto的基本語法
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 1;
while(1)
{
printf("在while(1)里 ");
while(i++)
{
printf("i = %d ",i);
if(i > 3)
{
goto TiaoChu;
}
}
}
TiaoChu:
printf("程序結束 ");
return 0;
}
運行結果:
標號位置
在while(1)里
2
3
4
程序結束
4. C語言中一個程序寫完後怎麼運行啊
當編寫完一個程序後,需要首先進行編譯,然後再運行。
如下圖所示,程序編寫完畢後,點擊工具欄中的Execute,選擇compile(編譯)。
如果沒有錯誤,再選擇Execute,選擇run(運行)。
(4)c語言如何重新運行整個函數擴展閱讀:
dll因為某些原因(最大的可能是因為它是個病毒或流氓軟體的dll文件,被殺軟刪除了)丟失了,但其相關的注冊信息卻還在,導致系統開機時還載入它,卻又找不到它的文件,所以報錯。
如果你點擊「確定」後,系統沒有什麼不正常,並且可以正常運行的話,你可以用這個軟體清理掉這個開機載入項,以後開機就不會出現這個信息了。
下載和安裝編譯器。C語言需要通過編譯器解釋為計算機可以理解的機器碼。 編譯器通常是免費的, 不同的操作系統上一般使用不同的編譯器。
對於Windows系統, 可以嘗試 Microsoft Visual Studio Express,其是Windows平台上最流行的多語言IDE(集成開發環境),其集成了Microsoft開發的C語言編譯器。對於OS X系統, Xcode是一款優秀的多語言IDE,其集成了C語言的編譯器。對於Linux, gcc是一個不錯的也是最流行的選擇。
5. c語言如何重新開始主函數,我是初學者。
#include<stdio.h>
#include<stdlib.h>
voidmain(void)
{
inta;
printf("pleaseinputanumber(1-100) ");
while(1)
{
scanf("%d",&a);
{
if(a<=60)
{
printf("notpass!pleasetrymorehard! ");/*希望小小於60時重新開始,大於60通過*/
continue;
}
if(a>60)
{
printf("Pass!");
returnEXIT_SUCCESS;
}
}
}
system("pause");
}
6. c語言用什麼函數可以實現重啟當前程序或者讓程序回到最初運行狀態
利用系統函數另重新啟動本程序的exe,然後自己的程序自動cancel
7. C語言如何進行判斷後返回函數重生執行
跟PC指針和堆棧有關,PC指針會默認地自動加1,也可由程序指令來改變.。 比如跳轉,函數調用等,
對於函數調用,進入函數前當前地址進棧,同時修改PC指針指向函數首地址去執行函數,在退出函數時又通過出棧並修改PC指針指向以出棧內容為地址的地址(也就是進入函數前的地址)。
你可以 用編譯器看一下反匯編就知道了。
8. 怎麼樣讓一個c語言中的一段函數,從頭運行下來若到後來不滿足條件又讓他從頭運行,直到滿足就不運行
方法太多了,隨便寫個,樓上的也可以,但是寫的不太明白
while(1)
{
…… //要執行的一段函數
if (條件滿足) //判斷是重新執行還是跳出
break; //跳出死循環
}
9. 哪個函數可以讓c語言的程序重新執行 新手!!
用goto 配上個 lable 就好了: #include<stdio.h> main(){ double p, w, s,d,f; int t; REDO: printf("請輸入每公里每噸貨物的\n運費P,貨物重w,距離s\n"); scanf("%lf,%lf,%lf",&p,&w,&s); if(s<0 || w<0 || p<0) { printf("二逼呀你,怎麼會有運費或貨種或路程是小於0的\n"); exit(0); } else if(s<250) t=0; else t=s/500+1; switch(t) { case 0: d=0;break; case 1: d=0.02;break; case 2: d=0.05;break; case 3: d=0.08;break; case 4: d=0.08;break; case 5: d=0.1;break; case 6: d=0.1;break; default: d=0.15; } f=p*w*s*(1-d); printf("總運費f=p*w*s*(1-d)=%lf\n",f); goto REDO; }
10. c語言如何讓輸入函數再隔一段時間輸入端無回應後繼續運行後面的程序
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main () {
int x= -9999; //初值
clock_t t0,dt;
int ttt= 2; //假定等待時間設2秒
t0 = clock(); //計時開始
printf("input x:\n");
while( !_kbhit() ) {
dt = clock() - t0;
if (dt >= ttt * CLOCKS_PER_SEC) goto Lab;
}
scanf("%d",&x);
Lab: printf("x=%d",x); //超時,跳到這行。
return 0;
}
超時,則輸出 -9999, 不超時,輸出拍入的值