本文目录一览:
- 1、c语言读取数据
- 2、一道简单的C语言题
- 3、c语言 字符串“exam\t\034”的长度为
- 4、下面程序的运行结果为什么是EXAM啊? #include "stdio.h" main() { c
- 5、C语言中如何解释ExamQuestions *eq=*iterCurrent
- 6、C语言函数问题
c语言读取数据
很简单 我先占个座
写完了 超出了我预计时间 6分钟
data.in内容
1 mul 2
4 div 1
5 add 6
8 sub 6
4 mod 3
运行结果
1 * 2
4 / 1
5 + 6
8 - 6
4 % 3
Press any key to continue
代码
#include stdio.h
#include stdlib.h
#include string.h
main()
{
int i,sel;
char line[100]={0},num1[5]={0},num2[5]={0},op[5]={0},oplist[5][5]={"mul","div","add","sub","mod"};
FILE *fp=fopen("data.in","r");;
if (fp==NULL)
{
printf("Error 1\n");
return 1;
exit(0);
}
while (fgets(line,sizeof(line)-1,fp))
{
sscanf(line,"%[0-9] %s %[0-9]\n",num1,op,num2);
printf("%s ",num1);
sel=-1;
for (i=0;i5;i++)
{
if (strcmp(oplist[i],op)==0)
{
sel = i;
break;
}
}
switch (sel)
{
case 0:printf("* ");
break;
case 1:printf("/ ");
break;
case 2:printf("+ ");
break;
case 3:printf("- ");
break;
case 4:printf("%% ");
break;
default:
printf("Error 2\n");
return 2;
}
printf("%s\n",num2);
}
}
一道简单的C语言题
答案为D
a[3]数组之中元素值(每一个数组元素都是结构体)
a[0] ={1, a[1]}
a[1] ={2,a[2]}
a[2] ={3,a[0]}
ptr =a[1];
选项A ptr-i++ = 1+1 =2;
选项B
ptr++-i =(ptr-i)++
此时ptr-i =2,由于是后缀,所以在此式子之后才变化
B、D就是++i,i++区别了。
选项C为
*ptr-i =*(ptr-i) //错误
选项D
++ptr-i = ++(ptr-i)
c语言 字符串“exam\t\034”的长度为
5.
"exam"是四个字符,'\t'是一个整体,是转义字符,算一个字符,'\0'是结束符,标志着字符串结束,后面的字符都不起作用了。
所以总共是4+1+1=6个字符。但字符串的长度一般不算末尾的'\0',因此长度为5.
下面程序的运行结果为什么是EXAM啊? #include "stdio.h" main() { c
指针p开始指向数组首地址,即字符e,执行循环表达式(*t!=‘p’)为真,打印*t-32实际就是‘e’-32=‘E’ ,然后执行t++,使指针指向下一地址,即x字符……直至指向p字符时循环条件为假程序结束。
C语言中如何解释ExamQuestions *eq=*iterCurrent
ExamQuestions *eq=*iterCurrent;
等效于下面两个
ExamQuestions *eq;
eq=*iterCurrent;
因此, 如果 iterCurrent 也是定义为:
ExamQuestions *iterCurrent;
那么上面的语句就是错的.
C语言函数问题
1。argc 是你在命令行输入字符串的个数 。(包括可执行文件名),所以在此例中 argc是2。
2。argv[1][i] 是你在命令行第二个字符串,即第一个参数字符串,此例中是“123”。
3。!='\0' : ‘\0' 是 字符串数组的结束标志符, 作用是判断字符数组是否结束。
4。键入的命令行是:执行exam.exe 参数是 “123”。