精华内容
下载资源
问答
  • void input(Student stu[]); Student max(Student stu[]); void print(Student stu[]); int main() { Student stu[N]; Student *p=stu; Student q; input(p); q=max(p); /* printf("%d\n",q.score...
  • #include <stdio.h> #include <stdlib.h> #include <sqlite3.h> int delete(sqlite3 *db) { char *errmsg; char sql[100];... printf("input a id you want to delete!\n"); sc...
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <sqlite3.h>
     
    int delete(sqlite3 *db)
    {
     
    	char *errmsg;
    	char sql[100];
    	int id;
     
    	printf("input a id you want to delete!\n");
    	scanf("%d",&id);
     
    	sprintf(sql,"delete from mytable where id = %d;",id);
     
    	if(SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    		exit(-1);
    	}
    }
     
    int display(void *para,int col_count,char **col_value,char **col_name)
    {
    	int i;
     
    	printf("total column is %d\n",col_count);
     
    	for(i = 0; i < col_count; i++)
    	{
    		printf("%s: %s: \n",col_name[i],col_value[i]);
    	}
     
    	printf("********************\n");
     
    	return 0;
    }
     
    int display_usecb(sqlite3 *db)
    {
     
    	char *errmsg;
    	char *sql;
     
    	sql = "select * from mytable;";
     
    	if(SQLITE_OK != sqlite3_exec(db,sql,display,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    		exit(-1);
    	}
    }
     
    int insert_record(sqlite3 *db)
    {
    	
    	char *errmsg;
    	char sql[100];
    	
    	int id;
    	char name[10];
     
    	printf("input a id you want to insert!\n");
    	scanf("%d",&id);
     
    	printf("input a name you want to insert!\n");
    	scanf("%s",name);
     
    	sprintf(sql,"insert into mytable (id,name) values (%d,'%s');",id,name);
     
    	if(SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    		exit(-1);
    	}
    	
    /*	sql = "insert into mytable (id,name) values (NULL,'qi');";
    	if(SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    	}
    	
    	sql = "insert into mytable (id,name) values (NULL,'fei');";
    	if(SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    	}*/
    }
     
    int creat_table(sqlite3 *db)
    {
    	char *errmsg;
    	char *sql;
     
    	sql = "create table if not exists mytable (id integer primary key,name text);";
     
    	if(SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
    	{
    		printf("fail:%s\n",errmsg);
    		printf("\n");
    		exit(-1);
    	}
    }
     
    int display_nocb(sqlite3 *db)
    {
    	int nrow;
    	int ncolumn;
    	int i;
    	char *errmsg;
    	char **aresult;
    	char *sql;
    	
    	sql = "select * from mytable;";
     
    	if(SQLITE_OK != sqlite3_get_table(db,sql,&aresult,&nrow,&ncolumn,&errmsg))
    	{
    		printf("file : %s\n",errmsg);
    		printf("\n");
    		exit(-1);
    	}
     
    	printf("row : %d	column : %d\n",nrow,ncolumn);
     
    	for(i = 0; i < (nrow + 1) * ncolumn; i++)
    	{
    		printf("%10s",aresult[i]);
     
    		if((i + 1) % ncolumn == 0)
    		{
    			printf("\n");
    		}
    	}
     
    	sqlite3_free_table(aresult);
     
    }
     
    int main()
    {
    	int ret;
    	sqlite3 *db;
     
    	ret = sqlite3_open("test.db",&db);
     
    	if(ret != SQLITE_OK)
    	{
    		perror("sqlite open:");
    		exit(-1);
    	}
     
    	creat_table(db);
    	insert_record(db);
    	display_usecb(db);
    	delete(db);
    	//display_usecb(db);
    	display_nocb(db);
        return 0;
    }
    

     

    展开全文
  • C语言调用libcurl的一个简单例子

    千次阅读 2017-03-06 22:08:08
    首先我们创建一个php页面:; charset=utf-8"> <input name="pass" type="text"></input> <input name="submit" type="submit" value="Login

    首先我们创建一个php页面:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <form action="#" method="post">
    <input name="pass" type="text"></input>
    <input name="submit" type="submit" value="Login"></input>
    </form>
    
    <?php
    
    echo "Refer : " . $_SERVER['HTTP_REFERER'] . "<br>";
    
    if(isset($_POST['pass']))
    {
        echo "Login successfully via Password <br> pass = " . $_POST['pass'] . "<br>";
    
        setcookie("pass", "password");
    }
    else if(isset($_COOKIE['pass']))
    {
        echo "Login successfully via COOKIE <br> pass = " . $_COOKIE['pass'] . "<br>";
    }
    else
    {
        echo "Please login <br>";
    }
    ?>

    这是一个简单的登录页面,可以通过输入密码登陆,也可以通过cookie登陆。

    我们将通过这个页面示范C语言通过libcurl库进行设置http请求头、post、cookie的操作。

    C代码:

    #include "stdafx.h"
    #include "curl\curl.h"
    
    size_t function( void *ptr, size_t size, size_t nmemb, void *stream)
    {
        printf("%s\n", (char*)ptr);
        return 0;
    }
    
    int _tmain(int argc, TCHAR *argv[])
    {
        CURL *curl;
        int i = 100;
        struct curl_slist *cookies = NULL;
        struct curl_slist *cookie = NULL;
        struct curl_slist *headers = NULL;
    
        curl = curl_easy_init(); //初始化
    
        //http请求头
        headers = curl_slist_append(headers,"POST /VSCurlTest.php HTTP/1.1");
        headers = curl_slist_append(headers,"Host:127.0.0.1");
        headers = curl_slist_append(headers,"Connection: keep-alive");
        headers = curl_slist_append(headers,"User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2141.400 QQBrowser/9.5.10219.400");
        headers = curl_slist_append(headers,"Cache-Control: max-age=0");
        headers = curl_slist_append(headers,"Content-Type: application/x-www-form-urlencoded");
        headers = curl_slist_append(headers,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        headers = curl_slist_append(headers,"Referer:http://www.baidu.com");
        headers = curl_slist_append(headers,"Accept-Encoding: gzip, deflate");
        headers = curl_slist_append(headers,"Accept-Language: zh-CN,zh;q=0.8");
    //  headers = curl_slist_append(headers,"Cookie: olfsk=olfsk7257964002188215; hblid=nR2Zo2hcfSVtItpT3m39N804DHbNAfAp; pass=password");//也可以直接通过头部提交cookie
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
    
        curl_easy_setopt(curl, CURLOPT_COOKIEFILE,"");//CURLOPT_COOKIEFILE参数用于从文件读取cookie。这里用于初始化cookie引擎,这样后面的curl_easy_getinfo才能正确接收到cookie数据.
        curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookie_open.txt");//保存从服务器返回的cookie到文件,也就是说我们自己设置的并不会保存
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
        curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1/VSCurlTest.php");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, function);
        curl_easy_setopt(curl, CURLOPT_POST, 1);//设置CURLOPT_POST之后必须带有POST数据
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "pass=23333&submit=%CC%E1%BD%BB");
        curl_easy_setopt(curl, CURLOPT_COOKIE, "olfsk=olfsk7257964002188215; hblid=nR2Zo2hcfSVtItpT3m39N804DHbNAfAp; pass=adadad");
    
        curl_easy_perform(curl);
    
        curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);//获取cookie,只获取服务器返回的cookie
        cookie = cookies;
        while(cookie)
        {
            printf("%s\n", cookie->data);
            cookie = cookie->next;
        }
    
        curl_slist_free_all(headers);
        curl_slist_free_all(cookies);
        curl_easy_cleanup(curl);
        getchar();
        return 0;
    }

    通过注释这个例子的某些curl_easy_setopt调用,观察输出信息,大概也能理解libcurl的使用了。

    展开全文
  • Usepopenif you want to run a shell command and want the parent process to be able to talk to the child. (It hooks the child's input or output up to the stream you get back.) Otherwise, prefer t...

    Use popen if you want to run a shell command and want the parent process to be able to talk to the child. (It hooks the child's input or output up to the stream you get back.) Otherwise, prefer the execfamily of functions (likely in conjunction with fork); exec'd processes inherit most open file descriptors (including stdin, stdout, and stderr), so you can hook input and output up to whatever you like...plus, there are fewer security implications.

    system is generally best avoided unless you have to run shell commands. It spawns a shell to run the command, and the shell can parse the command any way it likes. In particular, certain environment variables (like $IFS and/or $PATH) can be modified in such a way as to cause the parent to execute programs you never intended it to. Although popen appears to do the same thing, it at least provides functionality that makes it worthwhile in the general case.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------

    问题

    1. system可以直接运行带参数的shell脚本,特别是数字参数如,system("/bin/bash ~/test.sh 100 10"); 那么execlp怎么做呢

    转自:http://blog.csdn.net/luokehua789789/article/details/53117904

    -------------------------------------------------------------------------------------------------------------------------------

    1)system(shell命令或shell脚本路径);

        执行过程:system()会调用fork()产生子进程,由子进程来调用/bin/sh -c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
        返回值:如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值。如果 system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功
        注意:在编写具有SUID/SGID权限的程序时尽量避免使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
    例:在~/myprogram/目录下有shell脚本test.sh,内容为
    #!bin/bash
    #test.sh
    echo $HOME
    在该目录下新建一个c文件systemtest.c,内容为:
    #include
    /*This program is used to test function system*/
    void main()
    {
          int rv = system("~/myprogram/test.sh");

            if (WIFEXITED(rv))
            {
                 printf("subprocess exited, exit code: %d\n", WEXITSTATUS(rv));
                 if (0 == WEXITSTATUS(rv))
                 {
                      // if command returning 0 means succeed
                      printf("command succeed");
                 }
                 else
                 {
                      if(127 == WEXITSTATUS(rv))
                      {
                           printf("command not found\n");
                           return WEXITSTATUS(rv);
                      }
                      else
                      {
                           printf("command failed: %d\n", strerror(WEXITSTATUS(rv)));
                           return WEXITSTATUS(rv);
                      }
                 }
             }
            else
            {
                 printf("subprocess exit failed");
                 return -1;
            }

    }

    执行结果如下:
    xiakeyou@ubuntu:~/myprogram$ gcc systemtest.c -o systemtest
    xiakeyou@ubuntu:~/myprogram$ ./systemtest 
    /home/d/e/xiakeyou
    xiakeyou@ubuntu:~/myprogram$

    2)popen(char *command,char *type)    

        执行过程:popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。参数type可使用“r”代表读取,“w”代表写入。依照此type值,popen()会建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文件指针。随后进程便可利用此文件指针来读取子进程的输出设备或是写入到子进程的标准输入设备中。此外,所有使用文件指针(FILE*)操作的函数也都可以使用,除了fclose()以外。
        返回值:若成功则返回文件指针,否则返回NULL,错误原因存于errno中。
     另外可以使用pclose捕捉该条命令有没有正确被执行,只是pclose不能在popen后面太快不执行,否则可能pipe error.
    However, pclose(3) returns the exit value of the process that you were running. Non-zero exit processes are typical of programs to signal error conditions on exit, and some programs are even nice enough to signal to you what the error was based on the exit value.
        注意:在编写具SUID/SGID权限的程序时请尽量避免使用popen(),popen()会继承环境变量,通过环境变量可能会造成系统安全的问题。
    例:C程序popentest.c内容如下:
    #include
    main()
    {
         FILE * fp;
         charbuffer[80];
         fp=popen(“~/myprogram/test.sh”,”r”);
         fgets(buffer,sizeof(buffer),fp);
         printf(“%s”,buffer);
         pclose(fp);
    }
    执行结果如下:
    xiakeyou@ubuntu:~/myprogram$ vim popentest.c
    xiakeyou@ubuntu:~/myprogram$ gcc popentest.c -o popentest
    xiakeyou@ubuntu:~/myprogram$ ./popentest
    /home/d/e/xiakeyou
    xiakeyou@ubuntu:~/myprogram$ 

    popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果。

    #include   
    FILE *popen(const char *command, const char *type); 
    int pclose(FILE *stream);  
    type的参数只能是“r”或"w"

    例如

    #include  
    #include  
    int main(int argc,char*argv[]){  
        FILE *fstream=NULL;    
        char buff[1024];  
        memset(buff,0,sizeof(buff));  
        if(NULL==(fstream=popen("ls -l","r")))    
        {   
            fprintf(stderr,"execute command failed: %s",strerror(errno));    
            return -1;    
        }   
        if(NULL!=fgets(buff, sizeof(buff), fstream))   
        {   
            printf("%s",buff);  
        }   
        else  
        {  
            pclose(fstream);  
            return -1;  
        }  
        pclose(fstream);  
        return 0;   
    }

    3)linux exec的用法

    说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:
    #include 
    extern char **environ;
    int execl(const char *path, const char *arg, ...);
    int execlp(const char *file, const char *arg, ...);
    int execle(const char *path, const char *arg, ..., char *const envp[]);
    int execv(const char *path, char *const argv[]);
    int execvp(const char *file, char *const argv[]);
    int execve(const char *path, char *const argv[], char *const envp[]);
    其中只有execve是真正意义上的系统调用,其它都是在此基础上经过包装的库函数。
    exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件
    与一般情况不同,exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍保持原样,颇有些神似"三十六计"中的"金蝉脱壳"。看上去还是旧的躯壳,却已经注入了新的灵魂。只有调用失败了,它们才会返回一个-1,从原程序的调用点接着往下执行。
    现在我们应该明白了,Linux下是如何执行新程序的,每当有进程认为自己不能为系统和拥护做出任何贡献了,他就可以发挥最后一点余热,调用任何一个exec,让自己以新的面貌重生;或者,更普遍的情况是,如果一个进程想执行另一个程序,它就可以fork出一个新进程,然后调用任何一个exec,这样看起来就好像通过执行应用程序而产生了一个新进程一样。
    事实上第二种情况被应用得如此普遍,以至于Linux专门为其作了优化,我们已经知道,fork会将调用进程的所有内容原封不动的拷贝到新产生的子进程中去,这些拷贝的动作很消耗时间,而如果fork完之后我们马上就调用exec,这些辛辛苦苦拷贝来的东西又会被立刻抹掉,这看起来非常不划算,于是人们设计了一种"写时拷贝(copy-on-write)"技术,使得fork结束后并不立刻复制父进程的内容,而是到了真正实用的时候才复制,这样如果下一条语句是exec,它就不会白白作无用功了,也就提高了效率。

    返回值
    如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno 中。
    大家在平时的编程中,如果用到了exec函数族,一定记得要加错误判断语句。因为与其他系统调用比起来,exec很容易受伤,被执行文件的位置,权限等很多因素都能导致该调用的失败。最常见的错误是:
    • 找不到文件或路径,此时errno被设置为ENOENT; 
    • 数组argv和envp忘记用NULL结束,此时errno被设置为EFAULT; 
    • 没有对要执行文件的运行权限,此时errno被设置为EACCES。

    函数族的意义

    • l 表示以参数列表的形式调用
    • v 表示以参数数组的方式调用
    • e 表示可传递环境变量
    • p 表示PATH中搜索执行的文件,如果给出的不是绝对路径就会去PATH搜索相应名字的文件,如PATH没有设置,则会默认在/bin,/usr/bin下搜索。
    另:调用时参数必须以NULL结束。原进程打开的文件描述符是不会在exec中关闭的,除非用fcntl设置它们的“执行时关闭标志(close on exec)”而原进程打开的目录流都将在新进程中关闭。
    例子:
    #include 
    int main(int argc, char *argv[])
    {
        char *envp[]={"PATH=/tmp", "USER=lei", "STATUS=testing", NULL};
        char *argv_execv[]={"echo", "excuted by execv", NULL};
        char *argv_execvp[]={"echo", "executed by execvp", NULL};
        char *argv_execve[]={"env", NULL};
        if(fork()==0) {
            if(execl("/bin/echo", "echo", "executed by execl", NULL)<0)
            perror("Err on execl");
        }
        if(fork()==0) {
            if(execlp("echo", "echo", "executed by execlp", NULL)<0)
            perror("Err on execlp");
        }
        if(fork()==0) {
            if(execle("/usr/bin/env", "env", NULL, envp)<0)
            perror("Err on execle");
        }
        if(fork()==0) {
            if(execv("/bin/echo", argv_execv)<0)
            perror("Err on execv");
        }
        if(fork()==0) {
            if(execvp("echo", argv_execvp)<0)
            perror("Err on execvp");
        }
        if(fork()==0) {
            if(execve("/usr/bin/env", argv_execve, envp)<0)
                perror("Err on execve");
        }
    }

     

    转载于:https://www.cnblogs.com/aaronLinux/p/6902952.html

    展开全文
  • C语言-调用蜂鸣器实现键盘弹琴

    千次阅读 2017-09-24 23:44:22
    #include #include #include <conio.h> ///非标准输入输出 int main() { //Beep(698,1000); /// 控制计算机中的蜂鸣器 Beep(频率,声音的持续时间(毫秒)) char p;... printf("input 1234567\n
    #include <bits/stdc++.h>
    #include <windows.h>
    #include <conio.h> ///非标准输入输出
    int main()
    {
        //Beep(698,1000); /// 控制计算机中的蜂鸣器 Beep(频率,声音的持续时间(毫秒))
        char p;
        int i = 0;
        printf("input 1234567\n");
        while(i<100)
        {
            p = getch();
            switch(p-'0')
            {
            case 1:
                Beep(554,500);
                break;
            case 2:
                Beep(622,500);
                break;
            case 3:
                Beep(682,500);
                break;
            case 4:
                Beep(740,500);
                break;
            case 5:
                Beep(831,500);
                break;
            case 6:
                Beep(932,500);
                break;
            case 7:
                Beep(1046,500);
                break;
            default:
                break;
            }
            i++;
        }
        exit(0);
        return 0;
    }
    /*
    **  【音符频率对应表 】
    ** 音符 频率/HZ 半周期/us(N)
    **--------------------------------
    ** 低1DO 262 1908 #1DO# 277 1805
    ** 低2RE 294 1700 #2RE# 311 1608
    ** 低3MI 330 1516 #3MI# 340 1470
    ** 低4FA 349 1433 #4FA# 370 1350
    ** 低5SO 392 1276 #5SO# 415 1205
    ** 低6LA 440 1136 #6LA# 466 1072
    ** 低7SI 494 1012 #7SI# 524 0954
    ** 中1DO 523 0956 #1DO# 554 0903
    ** 中2RE 578 0842 #2RE# 622 0804
    ** 中3MI 659 0759 #3MI# 682 0733
    ** 中4FA 698 0716 #4FA# 740 0676
    ** 中5SO 784 0638 #5SO# 831 0602
    ** 中6LA 880 0568 #6LA# 932 0536
    ** 中7SI 988 0506 #7SI# 1046 478
    ** 高1DO 1046 478 #1DO# 1109 451
    ** 高2RE 1175 426 #2RE# 1245 402
    ** 高3MI 1318 372 #3MI# 1356 368
    ** 高4FA 1397 358 #4FA# 1480 338
    ** 高5SO 1568 319 #5S0# 1661 292
    ** 高6LA 1760 284 #6LA# 1865 268
    ** 高7SI 1976 253 #7SI# 2066 242
    **---------------------------------
    ** ("#"表示半音,用于上升半个音)
    */
    
    展开全文
  • C语言 参数-传值调用

    千次阅读 2016-10-11 12:33:40
    C语言程序设计(第二版)(丹利斯里奇经典)中的关于 《参数-传值调用》的一段代码: #include #define MAXLINE 1000 /*max input line length*/ int getline(char line[], int maxline); void copy(char to[], ...
  • test.elf为c语言程序,title为汉字字符串,C语言的命令行参数解析使用glib的g_option_context_parse函数,但是,每次调用的时候都提示 option parsing failed: Invalid byte sequence in conversion input/n,请教...
  • 分析C语言中函数调用

    2014-03-24 15:14:45
    #include  2   3 void input()  4 {  5 int i;  6 int array[20];  7 for(i = 0; i  8 {  9 array[i] = i; 10 } 11 } 12  13 void output() 14 { 15 int i; 16
  • printf("Input student's ID and score:\n"); for(i=0;i;i++) { scanf("%ld%d",&num[i],&score[i]); if(score[i]>90) printf("优秀\n"); else if(score[i]>=80&&score[i]) printf("良好\n"); ...
  • 一开始的代码: void print(){ printf(&amp;quot;hello hairi&amp;... infon db 0dh,0ah,'Please input a year: $' ;infon ,双字节,回车换行,内容 Y db 0dh,0ah,'This is a leap y...
  • linux/input.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include "include/types.h" __s32 main(__s32 argc, char **argv) { __s32....
  • #include int main() { int fac(int n); //声明将要调用int fac(int n) 的函数 int n,y; printf("please input an integer number:\n"); scanf("%d",&n); if(n)
  • Ⅰ、简单的入门: ①、//代码摘下直接可以运行 /求斐波那契序列第n项/ ...printf(“please input the number of n\n”); int n; scanf("%d",&n); int fabbicc(int); printf(“the number of %d is:%d\n”,n,fab...
  • 贺老师教学链接 C语言及程序设计提高 本课讲解函数的嵌套调用:函数内调用函数#include int gcd(int n1, int n2); int lcm(int n1, int n2); int main() { int num1,num2; int iGcd, iLcm; //最大公约数和最小...
  • C语言

    2021-02-21 15:07:51
    要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。例如fn(3,2)的返回值是36。 #include"stdio.h" int fn(int a,int n) { int s; while(n>=0) { s=an+s; a=a10; n–; } return s; } void main() { int a1,...
  • #include #include float LOG(unsigned m)(unsigned n) { return float log(n)/log(m); ... printf("Please input the base:" ...  printf("Please input the number:" ...但调用失败,why? 请前辈指教。
  • #include int main() { int max(int x,int y);...printf("please input 2 interger numbers:\n"); scanf("%d,%d",&a,&b); c=max(a,b); printf("max is %d\n",c); return 0; } int max(int x
  • #include int main() { int max4(int a,int b,int c,int d);...printf("please input 4 numbers:\n"); scanf("%d %d %d %d",&a,&b,&c,&d); max=max4(a,b,c,d); printf("max is %d\n",max);
  • 定义:已经命名执行专项任务的独立C代码块,可选择是否向调用它的程序返回一个值。 例子:计算一个数的三次方,采用...long input, answer;//全局变量 int main(void) { printf("\n Please Enter a Value: \n "); ...
  • printf("input the number of the students:"); scanf("%d",&n); input(stu,n); print(stu,n); } viod input( int i,j; ) { for(i=0;i;i++) { pintf("学号:"); scanf("%s",stu[i].num); pintf("姓名...
  • 某天,王尼玛写了段C程序: 1 #include <stdio.h> 2 3 void input() 4 { 5 int i; 6 int array[20]; 7 for(i = 0; i < 20; i++) 8 { 9 array[i] = i; 10 } ...
  • ###########################例子全部来源于谭浩强版c语言################################ include &lt;stdio.h&gt; int main() { int max4(int a,int b,int c,int d); int a,b,c,d,max; printf(&...
  • 这种情况一般有两种原因 1.调用的函数没有声明 2.多了大括号或者少了大括号,需要自己在程序中去慢慢寻找
  • int input = 0; printf(“看着一些大厂offer\n”); printf(“你要好好学习吗?(1/0)>:”); scanf("%d", &input); if (input == 1) printf(“好offer”); else printf(“不好的offer”); return 0; } 先定义了...
  • Input 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20) Output 输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小 Sample ...
  • C语言11.7

    2018-10-25 21:23:25
    用主函数分别调用input和print函数进行输入和输出。 要求使用结构体数组实现,结构体中包括了每个学生的5项记录。 输入 共有5行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的...
  • #include int main() { int fac(int n); //声明子函数fac int n,y; printf("input an integer number:"); scanf("%d",&n); y=fac(n); //将子函数的计算值赋给y printf
  • Ⅰ、简单的入门: ①、//代码摘下直接可以运行 //用递归求px(x,n)的值 #include<stdio.h> double px(double x,int n) { if(n==0) return 1;...printf(“please input the number of x,n\n”); i...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 307
精华内容 122
关键字:

c语言调用input

c语言 订阅