c语言 指针数组打印星期一到星期日

作者&投稿:南服 (若有异议请与网页底部的电邮联系)
C语言打印输出指针数组~

指针传递的实质就是传递首地址,要取地址里面的数据就要叫*或者直接指定加[m],比如*argv,和argv[0]意思都是一样的。

C语言的数组概念的学习,通过for循环输出打印数组

# include <stdio.h>
void printstr(char **p);
int main()
{
 char i;
 char str[100];
 char *num[]={"monday","tuesday","wednesday","thursday","friday","saturday","sunday"};
 char **p;
 p=num;
// printf("请输入1到7之间的数字
");
 printstr(p);
 }
void printstr(char **p)
{
 char i;
_start:
 printf("请输入1到7之间的数字
");
 fflush(stdin);
 scanf("%c", &i);
 if('1'<=i && i<='7')
   printf("%s  i=%d
",*(p+i-49),i);
//**************************************************************
 if(i<'1')
  printf("*输入错误!i=%d
",i);
//***********************************************************
 if(i>'7' && i!='a')
  printf("**输入错误!
");
 if(i=='a')
 {
  printf("程序结束了
");
  return;
 }
 goto _start;
}

10是换行字符'
'的ascii码。用scanf读取字符的时候,敲的回车回遗留在缓存里,下次再调用scanf读取字符时,会把这个'
'读出来,就不会再要求键盘输入了。

另外,每次输出后,又递归调用,这样随着输入次数的增加,递归会越来越深,很容易导致栈溢出。



#include <stdio.h>
#include <conio.h>
void fun()
{
    char ch;
    scanf("%c",&ch);
    printf("%d
",ch);
    fun();
}
void fun1()
{
    char ch;
    scanf("%c",&ch);
    scanf("%c",&ch);
    printf("%d
",ch);
}
void fun2()
{
    char ch;
    scanf("%c",&ch);
    //fflush(stdin);      
    getch();//在Tc里面还可以用这个
    scanf("%c",&ch);
    printf("%d
",ch); 
    printf("%d",ch);
}
void main()
{
    //fun1();
    fun2();
    printf("
");
    //fun();
}


这两个就是一个很好的比较。当我们用scanf的时候,我们把1打进去,但是scanf不会接收,只有我们打回车的时候才会接收。。回车也是一个ascII字符。可是scanf没有接收它,留着呢。如何我们要在清除它可以用fflush(stdin);



# include <stdio.h>
void printstr(char **p);
int main()
{
char i;
char str[100];
char *num[]={"monday","tuesday","wednesday","thursday","friday","saturday","sunday"};
char **p;
p=num;
// printf("请输入1到7之间的数字\n");
printstr(p);
}
void printstr(char **p)
{
while(1)//用while循环
{
char i;
printf("请输入1到7之间的数字\n");
scanf("%c",&i);
fflush(stdin);//清理缓冲流,i=10是换行符
if(i>='1' && i<='7')
printf("%s i=%d\n",*(p+i-49),i);

//**************************************************************
if(i<'1')
printf("*输入错误!i=%d\n",i);
//***********************************************************

if(i>'7' && i!='a')
printf("**输入错误!\n");
if(i=='a')
{
printf("程序结束了\n");
break;//结束while循环
}
}

}


娄底市15268588847: C语言 编写一个程序 输入周几号 输出改天的英文名 要求用指针处理 -
汉古筋伤: 1 定义字符串指针数组,指向7个英文单词,分别为周一到周日. 2 输入周几号. 3 取出对应的英文单词并输出. 代码:1 2 3 4 5 6 7 8intmain(void) {intn;char*week[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};scanf("%d",&n);puts(week[n-1]);return0; }

娄底市15268588847: 用C语言编写一个程序,将输入的英文星期单词转化为中文输出 -
汉古筋伤: #include char *weeks[]={"Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday","Sunday"}; char *trans[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}; void ...

娄底市15268588847: C语言中,编写一个程序,用周一到周日的某个名称,初始化一个字符指针数组,当输入整数1到7时,显示相应的英文名,输入其他的整数时,显示错误信息. -
汉古筋伤: #include "stdio.h" main() { int num; char *week[]={"mon","tue","wed","thu","fri","sat","sun"}; scanf("%d",&num); if(num>7||num<1) printf("error!\n"); else printf("%s\n",week[num-1]); }

娄底市15268588847: c语言输入1 - 7输出星期一到七的程序源代码 -
汉古筋伤: #include <stdio.h>int main() { 知int n;while (~scanf("%d",&n)){switch(n){case 1: printf("星期道一\n"); break;case 2: printf("星期二\n"); break;case 3: printf("星期三\n"); break;case 4: printf("星期四\n"); break;...

娄底市15268588847: c语言 编程星期的查找 -
汉古筋伤: #includeint main(){ int i; char *day[7]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; scanf("%d", &i); if(i6) {printf("error");} else {printf("%s", day[i]); } retunr 0; }

娄底市15268588847: 编写程序,用周一到周日的英文单词初始化一个字符指针数组,当键盘输入整数1到7时,显示相应的星期名称,输入其它整数时,显示:error -
汉古筋伤: #include main() { char * DayOfWeek[]={"Monday","Tuesday","Wednesday","thirsday","Friday","Saturday","Sunday"};int num;printf("请输入一个1到7的整数:\n"); scanf("%d",&num); swtich(num) { case 1:printf("%s",...

娄底市15268588847: C语言数组指针 -
汉古筋伤: #include#define STU 3#define GRA 4 void search(float gra[][GRA],int stu); void print(float gra[][GRA],int i); int main(void) { float gra[STU][GRA] = {0}; int i; int j; int a = 0; for(i = 0;i{ //输入学生成绩 printf("请输入第%d位学生成绩:\n",i+1); for(j = ...

娄底市15268588847: 使用指针数组实现:输入用数字n表示一星期中的序号,输出其对应的英语单词.(用C语言)
汉古筋伤: #include <stdio.h> void main() { char *n[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; int i; printf("输入1-7的数字:"); scanf("%d",&i); printf("%s\n",n[i-1]); }

娄底市15268588847: C语言新手求助,想输入a,b....g,依次显示周一到周日,为何编译正确,执行就错误?错误在哪儿? -
汉古筋伤: switch('c') 换成 switch(c) 应该判断的是变量c,不是字符'c'case 'g':printf("Sunday\n");break; //这里少了t

娄底市15268588847: C语言的指针数组
汉古筋伤: # include <stdio.h> void main() { void exchange(char *name[],int n); char * name[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; int n; printf(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网