1楼:
当指针p指向的元素不为结束符时,进入循环。
但是如果这时候p指向任意不是0-9的东西(比如你例子里的字母v,要不就是空格),仍然会走到给n赋值0,同时给a[i]赋值n,再i++的这些步骤。
建议把最外层while循环中的n=0赋值放入“while指针p不指向数字”这个判断中。
建议把对a[i]的赋值放入“while指针p指向数字”的判断中。
修改后的**如下,改的地方加了注释,有问题请追问。
#include
#include
#include
main()
else
}while (((*p)>='0') && ((*p)<='9'))
}}printf("the int number = %d\n",i);
for (n=0; n
printf("\n");
system("pause");
return 0;}
2楼:爽爽
应该是循环有问题,自己找看吧。
这不可能是计算机执行出了问题,要仔细观察,能自己发现错在**就好解决了。
3楼:陈传剑
我也是初学者。你那两个while循环,用的真是好。 可能是编译器不同的原因,我的只出现一个8.
是因为 在 s[x]=='\0' 之前,自动获取了一个'8' ,'8' 之前还有两个字符 'h' 和 '黑色方块' 怎么获取的,我是真不知道。可能又是某种规定,或者懂汇编的人能知道。也可能就是因为那个太巧妙的循环原因。
太晚了。得睡觉了。明天我也要仔细研究一下这个事。
4楼:
n = n*10 + (*p) - 48?
c语言刚刚入门,求大神指教。
c语言初学,求大神指教
5楼:44度
“%2.2e”中,前一个 2 表示该数字至少被输出为 2 个字符,科学计数法肯定不止 2 个字符,所以它不起作用,即使没有这个 2 也不影响结果;而后一个 2 表示显示 2 位小数,所以结果有“1.20”,如果把“.
2”删去,结果就会有 6 个小数位。后面的符号 + 和三位指数都是编译器决定的,不能更改。
c语言编程,求大神指教?
6楼:精准动力
注重逻辑,从思维方式入手。
7楼:
**文本:
#include "stdio.h"
int main(int argc,char *argv)printf("enter data...\n");
for(i=0;ifor(j=0;jputchar('\n');
for(i=0;ifor(j=0;jif(s[i][j]<60)putchar('\n');
return 0;}
c语言,求大神指教
8楼:
二、#include"stdio.h"
intmain(intargc,char*argv)运行样例:
三、#include"stdio.h"
intmain(intargc,char*argv)运行样例:
9楼:唐泇三勺
#include
#include
main()
voidzh(chara)
#include
#include
main()
一道c语言编程题,求大神指教!
10楼:匿名用户
#include
voidprintdigits(intn);
intmain()
voidprintdigits(intn)}
C语言,求大神指教,c语言,求大神指教
1楼 t君凡 include include int ss int n else x 1 return x main else break 要判断最后一个数时要嗯空格后回车 2楼 匿名用户 问题好像不少 首先,你的ss函数中的x缺少初值,这样在n 3的时候会出bug,返回随机数 其次,你在发现一个数...
c语言程序求大神指教,C语言,有个程序不太理解,求大神指教.
1楼 不愿相离 1 涉及到score的输出改为 d,你定义的是int型,输出格式 f不对 2 printf the average score 。2f n ave 。 错误,是 c语言,有个程序不太理解,求大神指教 2楼 匿名用户 define bufsize 3 宏定义bufsize等于3 cha...
c语言指针函数求大神指教
1楼 匿名用户 声明改成 float f int a int b float p int int float q int int 2楼 文霞yi莉 include include float area int a int b length int a int b float f int a int ...