① c語言中怎樣設計一個函數實現兩個字元串的連接
1)簡單來,直接用 strcat 函數,需要包含頭文件 string.h
2)自己實現的話也不麻煩,但是要考慮一些細節:
假設兩個字元串指針為 str1,str2 ,現在要講 str1 和 str2 連接成一個新的字元串。
a.考慮指針 str1,str2 是否非空
b.如果將str2的內容直接連接到str1的末尾,要考慮str1是否有足夠的剩餘空間來放置連接上的str2的內容。
如果用一個新的內存空間來保存str1和str2的連接結果,需要動態分配內存空間。
② C語言如何將兩個函數通過主函數調用
#include"stdio.h"
#include"string.h"
structaccount
{
charname[20];
intmoney;
}accounts;
voidplm()
{
printf("您賬戶的余額:%d",accounts.money);
}
voidqwe()
{
intcunkuan;
printf("請輸入存款金額:");
scanf("%d",&cunkuan);
accounts.money=cunkuan+accounts.money;
printf("存款成功!
賬戶余額:%d
",accounts.money);
}
voidpoi()
{
intqukuan,i;
printf("請輸入取款金額:");
while(1)
{
scanf("%d",&qukuan);
if(accounts.money<qukuan)
{
printf("賬戶余額不足!你的賬戶余額:%d
請重新輸入:",accounts.money);
}
else
{
accounts.money=accounts.money-qukuan;
printf("取款成功!
賬戶余額:%d
",accounts.money);
break;
}
}
}
voidmain()
{
charname[20];
charmima[20];
intq;
printf("====================================================
");
printf("====================================================
");
printf("==================歡迎你使用銀行系統================
");
printf("====================================================
");
printf("====================================================
");
printf("請輸入你的賬戶名:");
gets(name);
printf("請輸入密碼:");
gets(mima);
printf("
");
if(strcmp(name,"zengxin")==0&&strcmp(mima,"12345")==0)
{
printf("登陸成功!
");
intt=1;
while(t)//主函數加上一個while循環就好了,t表示是否繼續使用系統,選擇0時,t=1,即可退出系統了
{
printf("1存款2取款3開戶
");
printf("4銷戶5查詢0退出
請選擇:");
scanf("%d",&q);
switch(q)
{
case1:
{
qwe();
break;
}
case2:
{
poi();
break;
}
case3:
break;
case4:
break;
case5:
{
plm();
break;
}
case0:
{
t=0;
break;
}
}
}
}
else
printf("輸入的賬戶名和密碼錯誤!!");
③ 在c語言中,把兩個函數放在兩個程序文件中,怎樣作為兩個文件進行編譯,連接和運行
不知道你用的是什麼編譯器,如果用的是VC的話,可以嘗試下我的做法:
創建兩個源代碼文件:1.cpp和2.cpp
1.cpp中內容:
#include<stdio.h>
#include"2.cpp"/*採用包含命令調用2.cpp中的函數*/
int max(int x,int y)
{
return x>y?x:y;
}
int main()
{
int a,b,m,n;
a=10;
b=30;
m=max(a,b);
n=min(a,b);
printf("%3d%3d\n",m,n);
return 0;
}
2.cpp中內容:
int min(int x,int y)
{
return x<y?x:y;
}
把這兩個源代碼放到一個文件夾下,編譯並運行1.cpp即可。注意,2.cpp中沒有main函數,所以不能直接編譯2.cpp。其實由於最終1.cpp和2.cpp要連接到一起形成一個可執行文件1.exe,所以2.cpp中也不能有main函數。
④ 如何在一個C語言程序中設置兩個函數
c語言中一個完整的函數由函數首部和函數體構成,而且定義函數時兩者都是必不可少的。
函數定義的一般形式如下:
類型標識符
函數名(形參表列)
//
這是函數首部
//
以下{
}內的是函數體
{
說明部分
執行部分
}
舉例說明如下:
//
定義一個不帶返回值的函數
//
函數功能:輸出形參的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定義一個帶返回值的函數
//
函數功能:返回2個整數數的最大值
int
fun(int
a,
int
b)
{
return
a>b
?
a
:
b;
}
⑤ 如何在C語言環境中,利用main函數調用2個函數。
直接 在 main下面 寫2個函數啊;
int main()
{
fun1();
fun2();
return ;
}
函數要是有返回值和參數你還得定義變數
函數的實現在main之外啊
記得要聲明啊
⑥ C語言 連接兩個字元串的函數問題
因為scanf()函數讀到空格就停止了
你用gets()試試
:)
⑦ C語言中怎樣設計一個函數實現兩個字元串的連接
char
*
strcat(char
*s,
const
char
*append)
{
//將s所指向的字元串的首地址保存下來,以便使用
char
*save
=
s;
//將s所指向的字元串的首指針移至串尾處,s指針指向的字元元素為'\0'
for
(;
*s;
++s);
//將append所指的字元串的元素復制到s所指向的字元串尾部,直至遇到'\0'
while
((*s++
=
*append++)
!=
'\0');
//返回追加後的字元串首地址
return(save);
}
⑧ C語言連接函數
把 scanf_s("%s", &per[n + i].name);
改為
scanf_s("%s", &per[n + i].name, 19);
⑨ C語言中編寫兩個函數
#include <stdlib.h>
#include <stdio.h>
typedef
struct list{
char data;
struct list *next;
} SLIST;
SLIST *creat(){
int c;
SLIST *h,*s,*r;
h=(SLIST *)malloc(sizeof(SLIST));/*生成頭結點*/
r=h;/*r指向當前表尾*/
scanf("%d",&c);/*讀入數據*/
while(c!=1){/*未讀到數據結束標志時進入循環*/
s=(SLIST *)malloc(sizeof(SLIST));/*生成一個新結點*/
s->data=c;/*讀入的數據存入新結點的data域*/
r->next=s;/*新結點連到表尾*/
r=s;/*r指向當前表尾*/
scanf("%d",&c);/*讀入數據*/
}
r->next='\0';/*置鏈表結束標志*/
return h;/*返回表頭指針*/
}
void take(SLIST *head){
SLIST *p;
p=head->next;/*p指向頭結點後的第一個結點*/
if(p=='\0')
printf("Linklist is null!\n");/*鏈表為空(只有頭結點)*/
else{/*鏈表非空*/
printf("head");
do{
printf("->%d",p->data);/*輸出當前結點數據域中的值*/
p=p->next;/*p指向下一個結點*/
}while(p!='\0');/*未到鏈表尾,繼續循環*/
printf("->end\n");
}
}
int main(){
SLIST *p;
p=creat();
take(p);
}
我在我的VS2010裡面編譯運行,沒有崩潰
輸入
2 3 1
輸出
head->2->3->end
輸入
1
輸出
Linklist is null!
⑩ c語言中連接兩個函數數組用什麼函數
指向函數的指針