本文目錄一覽:
- 1、c語言 為何hello中的h無法輸出
- 2、C語言使用調用函數輸出hello,求多種寫法.
- 3、c程序,實現對鍵盤輸入信息的判斷,當鍵盤輸入字母‘h’時,打印輸出字符串“Hello!” 怎麼編寫程序
c語言 為何hello中的h無法輸出
你的代碼有潛在危機!你把char s2[]=”my swetty “;改成char s2[40]=”my swetty “;就不會有問題了。編譯器是從高地址到低地址安排變量的,在你這裡就是最低地址安排s2,向上再安排s1,最後安排c。但char s2[]=”my swetty “;這種寫法只為s2分配了”my swetty “這麼多個字符+1那麼大空間,根本再接不下”hello “這個字符串。但C不檢查數組邊界,你給它用strcat接上hello後,最後的那個’\0’把h覆蓋了,若給hello後再加一個空格,恐怕連e都要被覆蓋掉。而char s2[40]=”my swetty “;這種寫法為s2分配了40字節,放下hello就沒有問題了……供參考。
C語言使用調用函數輸出hello,求多種寫法.
一會把使用指針的方式傳上來
源代碼如下:
#include stdio.h
#include stdlib.h
void Prtf1();//第一種函數調用-直接使用printf函數
void Prtf2();//第二種函數調用-字符數組
void Prtf3();//第三種函數調用-直接使用puts函數
void Prtf4();//第四種函數調用-用數組首地址方式訪問
void Prtf5();//第五種函數調用-用指針方式訪問
void Prtf6();//第六種函數調用-用指針方式訪問(指針的定義賦值不同,區別方法五)
char str[5]= “Hello”;
int main()
{
Prtf1();
Prtf2();
Prtf3();
Prtf4();
Prtf5();
Prtf6();
return 0;
}
//第一種函數調用-直接使用printf函數
void Prtf1()
{
printf(“Hello\n”);
}
//第二種函數調用-字符數組
void Prtf2()
{
int i;
for(i=0; i5; i++)
{
printf(“%c”,str[i]);
}
printf(“\n”);
}
//第三種函數調用-直接使用puts函數
void Prtf3()
{
puts(“Hello”);
}
//第四種函數調用-用數組首地址方式訪問
void Prtf4()
{
int i;
for(i=0; i5; i++)
{
printf(“%c”,*(str+i));
}
printf(“\n”);
}
//第五種函數調用-用指針方式訪問
void Prtf5()
{
int i;
char *ptr_str;
for(i=0; i5; i++)
{
ptr_str = str[0];//把數組首元素地址給指針
printf(“%c”,*(ptr_str+i));
}
printf(“\n”);
}
//第六種函數調用-用指針方式訪問(指針的定義賦值不同,區別方法五)
void Prtf6()
{
int i;
char *ptr_str;
for(i=0; i5; i++)
{
ptr_str = str;//把數組名給指針
printf(“%c”,*(ptr_str+i));
}
printf(“\n”);
}
c程序,實現對鍵盤輸入信息的判斷,當鍵盤輸入字母‘h’時,打印輸出字符串“Hello!” 怎麼編寫程序
例:當鍵盤輸入字母‘h’時,打印輸出字符串“Hello!”;當輸入字母‘g’時,打印輸出字符串“Good!”
如果要實時輸出的話可以用getch()
輸入的同時程序就自動判斷顯示,不用按回車。
也就是你鍵盤按h,屏幕直接顯示Hello!,按g屏幕直接顯示Good!,不會出現h和g。
#include stdio.h
#include conio.h //注意添加這個頭文件
void main(){
char c;
while(c=getch())
{
if(c==’h’)
printf(“Hello!”);
if(c==’g’)
printf(“Good!”);
}
}
不過這樣只有輸入h和g時才有反應
如果不是要實時的判斷,可以用getchar()
這個要你輸入並按回車後才開始判斷顯示。這樣屏幕上會留下你原來輸入的h或g
#include stdio.h
void main(){
char c;
while(c=getchar())
{
if(c==’h’)
printf(“Hello!”);
if(c==’g’)
printf(“Good!”);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157373.html